Nginx分布式负载的设置

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。