nginx+tomcat实现单ip,多域名,多项目配置,session有效
首先,多域名解析到单ip在此不做叙述
空间提供商一般都会有此类解析服务
1.首先看nginx如何配置多域名
多域名意味着多个server节点,假如我们有域名www.a.com和www.b.com,我们可以如下配置
server { listen 80; server_name www.a.com; } server { listen 80; server_name www.b.com; }
这两个节点都监听在80端口,这样在浏览器访问两个域名就都会访问此nginx服务器了
2.再看如何把不同的网站请求发送到tomcat不同的项目
假设我们有两个项目,一个projecta,一个projectb
www.a.com映射到projecta,www.b.com映射到projectb
server { listen 80; server_name www.a.com; location / { proxy_pass http://tomcat监听ip:8080/projecta/; } } server { listen 80; server_name www.b.com; location / { proxy_pass http://tomcat监听ip:8080/projectb/; } }
这样,访问不同的域名就会映射到不同的tomcat项目上面了
3.tomcat需要做两方面配置
第一个是server.xml中,Host节点下添加:
<Context docBase="a" path="/a" /> <Context docBase="b" path="/b" />
第二个是context.xml中,Context节点添加属性 sessionCookiePath=”/”
保证session有效
4.jsp页面中,将路径设置为相对路径就可以了。