七、Nginx反向代理

调度器调度后端服务器 : web高可用  负载均衡   解决web单点故障
部署后端服务器---配置Nginx服务器(定义集群、请求转发)---起服务、测试----配置集群池属性(权重、失败次数、失败超时时间)----配置集群的调度算法(ip_hash)
 
部署后端Web服务器:
[root@web1 ~]# yum  -y  install  httpd                                 //web1
[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
[root@web1 ~]# firewall-cmd --set-default-zone=trusted
[root@web1 ~]# setenforce 0
 
[root@web2 ~]# yum  -y  install  httpd                                //web2
[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html
[root@web2 ~]# systemctl restart httpd
[root@web2 ~]# firewall-cmd --set-default-zone=trusted
[root@web2 ~]# setenforce 0
 
配置Nginx服务器:
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf        
.. ..
http {
.. ..
upstream webserver {                   //upstream定义集群,webserver为集群名称,自己任意定义
                server 192.168.2.100:80;        //server定义集群中的具体服务器和端口
                server 192.168.2.200:80;
        }
.. ..
server {
        listen        80;
        server_name  localhost;
            location / {
            proxy_pass http://webserver;     #通过proxy_pass将用户的请求转发给webserver集群
        }
}
 
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果
[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果
 
配置集群池属性:
weight设置后台服务器的权重(默认1),max_fails设置后台服务器的失败次数,fail_timeout设置后台服务器的失败超时时间,单位为秒。
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver {
                server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30;
                server 192.168.2.200 weight=2 max_fails=2 fail_timeout=30;
                server 192.168.2.101 down;      //标记为关机,不再参与集群调度
        }
.. ..
server {
        listen        80;
        server_name  localhost;
            location / {
            proxy_pass http://webserver;
        }
}
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@web1 ~]# systemctl stop httpd
[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果
[root@web1 ~]# systemctl start httpd
[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果
 
配置集群的调度算法:
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver {
                 ip_hash;                               //通过ip_hash设置调度规则为:相同客户端访问相同服务器
                server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10;
                server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
        }
.. ..
server {
        listen        80;
        server_name  www.tarena.com;
            location / {
            proxy_pass http://webserver;
        }
}
 
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果
 
posted @ 2021-06-07 09:45  落樰兂痕  阅读(53)  评论(0)    收藏  举报