如何配置Nginx负载均衡

2015-10-28 00:33:45 11254

1.负载均衡是大流量网站要做的,负载均衡从字面意思上来理解就是用N台服务器平均分担负载,不会因为某台服务负载高而宕机或者不会出现某台服务器闲置的情况。那么如果实现nginx的负载均衡呢,两台以上即可.

2.测试环境(本地测试)

Nginx主服务器:192.168.1.111

Nginx从服务器:192.168.1.222

Nginx从服务器:192.168.1.223

域名:www.landui.com (hosts指向主服务器)

三台服务器均安装nginx

yum install pcre zlib nginx


3.主服务器配置

(1)打开主服务器nginx的配置文件nginx.confhttp段中添加以下代码:

upstream serverip{

       server 192.168.1.222;

       server 192.168.1.223;

}

(2)注意我在nginx.conf引入的是conf.d目录中的所有.conf文件,所以到cond.d目录中复制default.conf文件重命名为test1.conf,在location /{}中输入一下内容:

       proxy_pass         http://www.landui.com;    #注意哦这里的http://www.landui.com要和upstream定义的serverip一样哦.名字可以随便取.

       proxy_set_header   Host             $host;

       proxy_set_header   X-Real-IP        $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

(3)重启nginx服务

4.两台从服务器的设置(就只需要建立站点就可)

4.为了实验的测试结果,把从服务A的页面index.html修改为: it`s A server-site page;把从服务器B的页面index.html修改为: it`s B-server web

(1)现在可以把域名做host指向主服务器(192.168.1.111),打开的是

(2)当刷新页面的时候,在从服务器AB间切换(此步骤不方便截图)

(3)把从服务器A关掉,打开的是页面是从服务器B的页面,我们发现服务器A虽然宕机了,但是并不影响整个站点。

      

5.通过这个nginx实现负载均衡的实验,我们可以知道nginx的强大之处。假若www.landui.com也要实现负载到192.168.1.222192.168.1.223上,依照上面操作即可。不论是主从服务器什么样的操作系统、或者从服务器是用其他(iis、apche)建立的站点,nginx负载均衡原理都是一样的,这里就不在举例windows的了。

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: