Nginx分布式负载的设置是通过Upstream模块实现的,而且相当简单。
首先找到nginx.conf, 然后在http{}里面加入里面代码
<span>upstream www.foobar.com {
server backend1.foobar.com;
server backend2.foobar.com;
}</span>
<span>server {
location / {
proxy_pass http://www.foobar.com;
}
}</span>
如此一来,我们就可以把foobar的负载分布到backend1和backend2。
有几个参数可以进行细节调整:weight,max_fails,fail_timeout
<span>upstream www.foobar.com {
server backend1.foobar.com weight=5;
server backend2.foobar.com max_fails=3 fail_timeout=30s;
}</span>
你可以通过参数ip_hash调整请求分布的去向按照ip确定:
upstream www.foobar.com {
ip_hash
server backend1.foobar.com;
server backend2.foobar.com;
}</span>
这样每个访客固定访问一个后端服务器。可以解决一些特定的问题,比如说session。