需求:在一台服务器上部署两个tomcat项目,都想共用同一个端口号80。都想使用二级域名直接访问,那如何解决?
实现方案:
1. 本地启动两个tomcat ,两个tomcat端口号分别为8080,8081一个nginx 端口号为80
2. 分别访问以下两个和 nginx
tomcat1 端口号8080 访问地址:127.0.0.1:8080
tomcat2 端口号8081 访问地址:127.0.0.1:8081
nginx 端口号80 访问地址 127.0.0.1
3. 在windows host文件中,建立两个域名映射地址
分别为:
127.0.0.1 8080.itmayiedu.com
127.0.0.1 8081.itmayiedu.com
8080.itmayiedu.com 对应tomcat端口号为8080
8081.itmayiedu.com 对应tomcat端口号为8081
4. 在nginx nginx.conf 配置使用nginx 同一端口根据不同域名转发到不同端口
#### 输入app.wb.com:8080 跳转到 http://127.0.0.1:8080
server {
listen 80;
server_name app.wb.com:8080;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
}
## 输入appbg.wb.com:8081 跳转到 http://127.0.0.1:8081
server {
listen 80;
server_name appbg.wb.com:8081;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8081;
index index.html index.htm;
}
}
5. 结果
输入app.wb.com:8080 通过nginx转发跳转到http://127.0.0.1:8080
输入appbg.wb.com:8080通过nginx转发跳转到http://127.0.0.1:8081
不同域名通过同一个端口转发到不同的端口
如果您觉得有用,给个赞呗