本文主要介绍nginx的反向代理, websocket配置, 正则匹配, 负载均衡的快速配置.
# 负载均衡配置, 默认是轮询访问4个app程序
upstream apps {
ip_hash; # 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
upstream websocket {
server 127.0.0.1:8000;
}
server {
listen 80; # 监听的端口
server_name test.feng.com; # 域名
location /static/ { # 匹配请求 /static/
root /home/app/ # 在该目录下搜索资源
}
location ~ \.html { # 匹配以.html结尾的请求
root /home/web/html; # 在该目录下搜索资源
}
location /chat {
proxy_pass http://websocket/chat; # 反向代理路径
# 以下三行,websocket配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location / { # 匹配所有请求
proxy_pass http://apps; # 反向代理上面的4个app程序
}
}