Nginx作为负载均衡服务器:Nginx既可以在内部直接支持 Rails PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。


Nginxproxy是它一个很强大的功能,实现了7层负载均衡。

1.功能强大,性能卓越,运行稳定。

2. 配置简单灵活。

3. 能够自动剔除工作不正常的后端服务器。

4. 上传文件使用异步模式。

5. 支持多种分配策略,可以分配权重,分配方式灵活。


实验目的:

使用nginx进行七层负载,达到对于访问“html”和“php”两种类型网页的请求,发送给相应服务器。同类型的web服务器之间进行LB。


拓扑图

nginx的七层负载均衡_nginx七层负载

IP地址分配:

client:192.168.2.100
nginx:192.168.2.10
PHP1:192.168.2.3
PHP2:192.168.2.4
Html1:192.168.2.1
Html2:192.168.2.2


配制方法(rpm包版,源码源的conf.d文件是需要在主配置文件中指定位置的);

[root@www ~]# vim /etc/nginx/conf.d/test.conf
[root@www ~]# cat /etc/nginx/conf.d/test.conf
upstream phpserver {
        server192.168.2.3;
        server192.168.2.4;
        }
upstream htmlserver {
server192.168.2.1;
       server192.168.2.2;
       }
[root@www ~]# vim /etc/nginx/nginx.conf
      location / {
root  /usr/share/nginx/html;
            index  index.html index.htm;
         if ($request_uri ~*\.html$){
                       proxy_pass http://htmlserver;
                }
            if ($request_uri~* \.php$){
                       proxy_pass http://phpserver;
                }
        }
[root@www ~]# service nginx start