http://www.nowamagic.net/academy/detail/1226280
反向代理的例子代码如下:
upstream tornado {
server 127.0.0.1:8888;
}
server {
listen 80;
root /root/nmapp2_venv;
index index.py index.html;
server_name server;
location / {
#if (!-e $request_filename) {
# rewrite ^/(.*)$ /index.py/$1 last;
#}
}
location ~ /index\.py {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://tornado;
}
}
注意:proxy_pass指向了upstream定义的tornado。这里设置了反向代理。
※proxy_pass后面不是定义的Server也可以,是实际的网址也行,例如:proxy_pass http://localhost:8080;
也就是说,访问【location ~ /index\.py 】的请求,都会分配给upstream定义的tornado里的Server(127.0.0.1:8888)。
至于如何配置负载均衡,只需要在upstream tornado里面的加上你要分担处理的Server就可以了。还可以在Server后面进行参数设置,设置分配的权重什么的。
例如:
server 192.168.1.2:80 weight=2;
server 192.168.1.3:80 weight=1;