把Tomcat下几个项目分别配置成二级域名(主域名配置一样):
a 项目 配置成 http://a.domain.com
b 项目 配置成 http://b.domain.com
1、修改端口号:
1 2 3 4 5 |
找到 <Connector port="端口号" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 如果端口号为 80 ,则请求链接可以不带端口号 |
2、配置Tomcat虚拟目录
1 2 3 4 5 6 7 8 9 |
找到 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host> 修改成: 例如:a.domain.com为你的域名 <Host name="a.domain.com" appBase="webapps/a.domain.com" unpackWARs="true" autoDeploy="true"></Host> <Host name="b.domain.com" appBase="webapps/b.domain.com" unpackWARs="true" autoDeploy="true"></Host> |
3、拷贝程序到tomcat/webapps下
在tomcat/webapps下创建文件夹
1 2 3 4 |
#a.domain.com为你的域名 mkdir a.domain.com #b.domain.com为你的域名 mkdir b.domain.com |
然后拷贝a项目的war包到a.domain.com/文件夹下,并重命名为ROOT.war
接着拷贝b项目的war包到b.domain.com/文件夹下,并重命名为ROOT.war
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
upstream xx{ #配置upstream节点,这里节点名为“xx”,多态服务器,用于集群 server 127.0.0.1:8081; server 127.0.0.2:8082; } server { listen 80; server_name a.domain.com; location / { proxy_pass http://a.domain.com:8080; # Tomcat端口,如是80,可以不带 #proxy_pass http://xx; # 此方式用于集群,单个也可以,只要一个server proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name b.domain.com; location / { proxy_pass http://b.domain.com:8080; # 可以域名,可以IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
配置成功。
启动服务在本地可以:
ping a.domain.com
ping b.domain.com 都是可以ping通的。
注:nginx 配置虚拟目录名称 必须与 tomcat配置一样。
不错的教程啊。。。
2017年3月9日 上午11:08支持楼主,赞赞
2017年2月17日 下午7:54