一背景:
最近需要在一台机器部署多个服务,使用nginx做web服务器,和反向代理,在使用一个端口代理多个location时并不好用,最后使用多个端口方式解决。
二操作:
分别监听 www.xxx.com的8086和 www.xxx.com的8098接口 部署对应web服务和后台服务
server {
listen 8086;
server_name www.xxx.com;
charset utf-8;
location / {
root /usr/local/peoplemooc/frontend/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /frontend {
access_log /var/log/nginx/frontend-access.log;
error_log /var/log/nginx/frontend-error.log;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://124.222.65.31:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8098;
server_name www.xxx.com;
charset utf-8;
location / {
root /usr/local/peoplemooc/backgroud/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /background {
access_log /var/log/nginx/background-access.log;
error_log /var/log/nginx/background-error.log;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://124.222.65.31:7051;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
三常用命令:
启动nginx: /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx重新加载config文件: nginx -s reload