反向代理后端如果有多台服务器,自然可形成负载均衡,
但proxy_pass如何指向多台服务器?
把多台服务器用 upstream指定绑定在一起并起个组名,
然后proxy_pass指向该组。
nginx.conf 加2个虚拟主机 请求后端图片服务器
- upstream imgserver {
- server 192.168.1.200:81 weight=1 max_fails=2 fail_timeout=3;
- server 192.168.1.200:82 weight=1 max_fails=2 fail_timeout=3;
- }
- server {
- listen 81;
- server_name localhost;
- root html;
- access_log logs/81-access.log main;
- }
- server {
- listen 82;
- server_name localhost;
- root html;
- access_log logs/81-access.log main;
- }
图片资源都去请求那2个服务器
- location ~* \.(jpg|jpeg|gif|png){
- proxy_set_header X-Forwarded-For $remote_addr;
- proxy_pass http://imgserver;
- }