Nginxupstream模块和proxy模块简单应用

 

Nginxweb服务中是一个很强大的工具,可以做静态web服务,当然它的最常用的功能就是其负载均衡,下面只是应用nginxupstream模块和proxy模块来做一个小实验。在此体现的功能也只是冰山一角。

upstreem 使用注意:1、只能使用http上下文。2、各server只能直接使用IP或者主机名,不要加协议,在此次实验中使用server IP的方式来代理其后端,其后端使用Apache,提供web服务。

       实验拓扑图:

    wKioL1UCfvDzJOWJAADlbadI5vw005.jpg

      实验配置

      本实验主要应用nginxupstream模块和proxy模块。

 upstream webservers {

        server 192.168.1.117 weight=1 max_fails=2 fail_timeout=3;

        server 192.168.1.119 weight=1 max_fails=2 fail_timeout=3;

        server 127.0.0.1:8080 backup;

     }

 

    server {

        listen       80;    //此时server监听在tcp/80端口。

        server_name  www.a.com;

        location / {

            root   html;

            index  index.html index.htm;

            proxy_pass http://webservers/;

            proxy_set_header X-Real-IP $remote_addr;

        }

}

 server {

    listen 8080;

    server_name 127.0.0.1;

    root /www/backup;            

    }

  下面对以上选项说明。

set_header X-Real-IP $remote_addr;  //是代理向上游发服务器送首部

add_header X-via $server_addr          //是代理向客户端发送的首部。

weight=#    :                                         //权重

       max_fails=#  :                                      //最大失败尝试次数,默认为1

fail_timeout=time:                              //失败尝试的超时时长,默认为10s

backup                                            //当其他服务都挂掉,会自动转到此页。但是当任何一节点上线backup都不会上线。

  实验测试

  配置完成就可以做下测试,在其后端两台主机上添加测试页面。而后都要启动httpd服务。访问nginx服务器的IP192.168.1.118 

wKioL1UCfu_Ar7owAAC5rnv8DUQ679.jpg

  刷新页面

 wKiom1UCfc7TUwt7AADLU5OJo08446.jpg

  当同时停掉后端两台服务器时,再次刷新服务。

       wKiom1UCfc3R3FbOAAC4F_jFEFo947.jpg