nginx负载均衡

如果有两台机器负载

upstream myCluster { 
server 127.0.0.1:80 ; 
server 158.37.70.143:80 ; 
} 

表示这个server cluster包含2台服务器
〉然后在server模块中定义,负载均衡: 

location ~ .php$ { 
proxy_pass http://myCluster ; #这里的名字和上面的cluster的名字相同 
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; 
} 

这样的话,如果访问http://localhost:8080/test.php 页面的话,nginx目录下根本没有该文件,但是它会自动将其pass到myCluster定义的服务区机群中,分别由127.0.0.1:80;或者158.37.70.143:80;来做处理。
上面在定义upstream的时候每个server之后没有定义权重,表示两者均衡;如果希望某个更多响应的话例

upstream myCluster { 
server 127.0.0.1:80 weight=5; 
server 158.37.70.143:80 ; 
} 

这样表示5/6的几率访问第一个server,1/6访问第二个。另外还可以定义max_fails和fail_timeout等参数。

原文地址:https://www.cnblogs.com/vania/p/7269476.html