Nginx 反向代理配置笔记
Nginx是一款非常优秀的软件,在此向伊戈尔·赛索耶夫大神致敬, 本篇配置实现以下功能
- 负载均衡
- 支持websocket协议的代理
- 解决内外网端口号不一致带来的问题
配置文件 nginx.conf 详解见注释
#user nobody;
worker_processes 1;
error_log logs/error.log;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
# myapp1 下属两个服务器 weight权重配置,数字越大权重越高
upstream myapp1 {
server 172.17.240.10:3331 weight=2;
# server 172.17.240.14:3331 weight=1;
}
server {
listen 3333; # 监听端口号3333 即请求3333端口的都会进行转发
#server_name xcastle.cn;
location / {
proxy_set_header Host $host:60005; # 解决内外网端口号不一致带来的问题 指定Nginx的响应端口号
proxy_set_header Upgrade $http_upgrade; # 开启支持 websocket协议
proxy_set_header Connection "upgrade"; # 开启支持 websocket协议
# proxy_set_header Referer $http_referer;
# proxy_set_header Cookie $http_cookie;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_redirect off;
# proxy_buffering off;
# proxy_connect_timeout 3;
# proxy_send_timeout 30;
# proxy_read_timeout 30;
proxy_pass http://myapp1; # 3333端口的全部请求都会转发给 myapp1
}
# 此处是一个图片服务器的代理配置 与本文无关可注释
location /free-portal/portal/img/ {
root /home/img-server/;
autoindex on;
}
}
}
Nginx 常用命令
- ./nginx -s reload 平滑重新加载配置
- ./nginx -t 检查配置文件正确性
参考文档
- http://blog.csdn.net/zyw_java/article/details/77114671