• Nginx 反向代理+高可用


    反向代理主机IP:10.0.0.20
    WEB01主机IP : 10.0.0.22  
    WEB02主机IP : 10.0.0.23

    反向代理主机配置:10.0.0.20

    [root@node1 html]# vim /etc/nginx/conf.d/web.conf 
    
    server {
            listen       80;
            server_name  www.wanglan.com;
            location / {
                proxy_pass http://10.0.0.30;  #keepalived虚拟IP
                proxy_set_header HOST $HOST;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Request-Url $request_uri;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
      }

    web01主机配置 Keepalived.conf

    [root@node1 ~]# vim /etc/keepalived/keepalived.conf 
    
    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id WEB  #集群名称,相同集群名称必须相同
    }
    
    vrrp_instance VI_1 {
        state MASTER  #主从设置,这里设置为主
        interface eth0
        virtual_router_id 51
        priority 150  #定义访问优先级,数值越大优先级越高
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.30   #置虚拟IP,这就是反向代理服务器所代理的IP
        }
    }

    web0主机配置keepalived.conf 文件

    [root@node4 ~]# vim /etc/keepalived/keepalived.conf 
    
    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id WEB   #集群名称,必须和web01设置相同
    }
    
    vrrp_instance VI_1 {
        state BACKUP   #主从设置,这里设置为从
        interface eth0
        virtual_router_id 51
        priority 100   #定义访问优先级,从要比主的数值小
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.30  #设置虚拟IP,必须相同
        }
    }

    重启服务查看web01的网卡上是否有 10.0.0.30 IP

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:e6:36:7b brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.22/24 brd 10.0.0.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet 10.0.0.30/32 scope global eth0

    而此时web02的网卡上是没有10.0.0.30 IP

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:15:ba:84 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.23/24 brd 10.0.0.255 scope global eth0
           valid_lft forever preferred_lft forever

    可以关闭web01的keepalived 服务,查看IP是否转移到了web02上

    web01上已经没有了10.0.0.30

    [root@node1 ~]# systemctl stop  keepalived
    
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:e6:36:7b brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.22/24 brd 10.0.0.255 scope global eth0
           valid_lft forever preferred_lft forever

    查看web02

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:15:ba:84 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.23/24 brd 10.0.0.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet 10.0.0.30/32 scope global eth0
           valid_lft forever preferred_lft forever

    此时10.0.0.30 已经转移到了 web02上

  • 相关阅读:
    nginx常用配置
    docker 启动常用容器命令
    win10 安装 docker
    Selenium IDE for Google Chrome
    Python use goto statement
    TCP:一个悲伤的故事
    gtx770测评
    三十而立——年终总结
    bilibili自定义调整视频播放速度
    linux-安装docker
  • 原文地址:https://www.cnblogs.com/wanglan/p/7494345.html
Copyright © 2020-2023  润新知