目录
1.前言
服务器在80运行端口运行了一个项目A,今天突然说在改服务器上再跑一个项目B而且必须是80端口。首先想到的是换项目A的端口但仔细一想这样是不可取的原因如下:
1.APP需要改变端口重新打包
2.修改数据很麻烦。数据库中新多数据与 域名:端口 相关
所以决定使用用nginx监听80端口,反向代理服务A和服务B。
2.修改流程
2.1下载安装nginx(自行百度)
2.2修改配置文件
#监听80端口,如果是以www.sunsuning.cn访问的则代理到端口1
server {
listen 80;
server_name www.sunsuning.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ip:port1;
}
}
#监听80端口,如果是以sunsun.sunsuning.cn访问的则代理到端口2
server {
listen 80;
server_name sunsun.sunsuning.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ip:port2;
}
}
server {
listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
server_name sun.sunsuning.cn; #域名
location / {
root /usr/share/nginx/html/dist;
index index.html index.htm;
}
}
这样就可以两个项目都访问80端口,通过server-name去区分代理到哪个项目。
2.3启动nginx(自行百度)
2.4停止项目A,修改项目A的端口(port1)重新启动
2.5项目B在(port2)端口启动