Nginx负载均衡的原理图:

wKiom1cwXU-BvFj9AACDm7MqUAQ203.png

   网站内容分别部署在apache1和apache2上,在Nginx上进行负载均衡设置,当用户想访问apache1和apache2服务器上的内容时,只需要访问Nginx服务器,Nginx会将请求分别转发到web服务器apache1和apache2上,web服务器处理请求后,将请求的内容发送到Nginx上,Nginx再将内容返回给用户那里。

   这个转发过程,对于用户来说是感受不到的,既能保护web服务器安全,又能提高web服务器的性能。

   负载均衡设置方式:

   如图,有一台Nginx服务器(192.168.1.100)和两台web服务器(192.168.1.101/192.168.1.102)

   在两台apache服务器上修改主页文件内容分别为:

   This is A.

   This is B.

   只需在Nginx修改配置文件nginx.conf如下即可:

  

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;


    upstream    web1 {

        server  192.168.1.101:80 weight=1 max_fails=2 fail_timeout=30s;

        server  192.168.1.102:80 weight=1 max_fails=2 fail_timeout=30s;

    }


#web1       负载模块名称(自定义)。

# weight    权重,值越大优先级越高。

#max_fails    最大失败次数,若连续连接该主机两次均失败,则剔除出负载列表。

#fail_timeout  请求失败等待时间。


    server {

        listen       80;

        server_name  localhost;

        location / {

            proxy_pass  http://web1;

            root   html;

            index  index.html index.htm;

        }

    }

}

#proxy_pass  http://web1;    启用负载模块。

   保存退出后重启nginx服务。

   访问192.168.1.100,如果分别会显示两台apache服务器上的内容,则负载均衡搭建成功。