test.xxx.com :8088
testmobile.xxx.com: 8089
内网地址:127.0.0.1
外网地址:127.0.0.1nginx
server { listen 80; server_name test.xxx.com; 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://127.0.0.1:8088; } access_log /var/log/nginx/dev-train-yingtongscf-com.log; } server { listen 80; server_name testmobile.xxx.com; 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://127.0.0.1:8089; } access_log /var/log/nginx/dev-trainmobile-yingtongscf-com.log; }
配置说明:
listen 80 # 监听的端口;必定要把 80 端口留给负责代理的Nginx。
server_name jira.51cto.com; # 要监听的域名;
proxy_pass http://127.0.0.1:8080; # 要转发的内网访问的IP和端口;
access_log /var/log/nginx/jira-51cto-com.log; # 日志,注意路径是否存在docker
配置重启后,即时生效性,若是没法登录通常的缘由:
域名解析生效时间。通常的域名解析最低生效时间是10分钟,有时候可能大于这个值。
本地DNS缓存。可在CMD使用 ipconfig /flushdns 命令刷新本地DNS缓存。
浏览器缓存。这个可能才是最不容易发现的,尤为是谷歌浏览器。F12以后,右键左上角地址栏边上的刷新按钮,点击清空缓存并硬性从新加载。
服务未重启。service nginx restart 有时候可能没有先 stop, 再 start 好用。浏览器
将配置拷贝到服务器的路径:/ND-DATA/nginx/nginx.conf缓存
containerName="server-nginx" allImageNmae="nginx" port="80" # 删除容器 docker stop ${containerName} && docker rm ${containerName} # 启动容器 docker run -d -p ${port}:80 --name=${containerName} --restart=always \ -v /ND-DATA/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro \ ${allImageNmae}
参考文章服务器
须要学习nginx配置的官方文档以及配置参数的最佳实践学习