码迷,mamicode.com
首页 > 其他好文 > 详细

keepalived+nginx-upstream部署高可用反向代理

时间:2017-07-03 14:07:58      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:.com   alt   down   安装软件   nginx   软件   启动服务   nbsp   httpd服务   

 

实验拓扑

技术分享

实验要求

  1. 两个web server提供httpd服务,ip地址分别是172.18.27.201、202,掩码是16
  2. 两个nginx proxy提供高可用反向代理,ip地址分别是172.18.27.102、200,掩码是16.
  3. client能够访问web server,使用dr模型反向代理。

实验步骤

    1. 各主机安装软件

       

      ##web server安装httpd
      yum install -y httpd
      ##nginx proxy安装nginx和keeplived.
      yum install -y keepalived nginx
    2. 配置web server

       

      ##两台web server配置,两台都为centos7.2
      #RS1配置
      vim /var/www/html/index.html
      <h1/>RS1:172.18.27.201</h1>
      #RS2配置
      vim /var/www/html/index.html
      <h1/>RS2:172.18.27.202</h1>
      #RS1和RS2启动httpd服务
      systemct start httpd
    3. 配置nginx proxy

       

      ##配置nginx proxy服务器
      #配置nginx upstream
      vim /etc/nginx/nginx.conf
      http {
           .....
        upstream httpdserver{
           server 172.18.27.201:80 weight=2;
           server 172.18.27.202:80 weight=1;
           server 127.0.0.1:8080 backup;
       }
      }
      #配置keeplived
      vim /etc/keepalived/keepalived.conf
      global_defs {
      vrrp_mcast_group4 224.100.27.1
      }
      vrrp_script chk_down {
                   script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
                   interval 1
                   weight -5
                           }
      vrrp_script chk_nginx {
                   script "killall -0 nginx && exit 0 || exit 1"
                   interval 1
                   weight -5
                   fall 2
                   rise 1
      }
      vrrp_instance VI_1 {
       state MASTER
       interface eth1
       virtual_router_id 51
       priority 100
       advert_int 1
       nopreempt
       authentication {
           auth_type PASS
           auth_pass 1111
       }
       virtual_ipaddress {
           172.18.27.254/16 dev eth1 label eth1:0
       }
       track_script {
           chk_down
           chk_nginx
       }
       track_interface{
           eth1
       }
      }
      #启动服务
      service nginx start
      service keepalived start

      配置另一台nginx proxy

      #配置nginx upstream
      vim /etc/nginx/nginx.conf
      http {
           .....
        upstream httpdserver{
           server 172.18.27.201:80 weight=2;
           server 172.18.27.202:80 weight=1;
           server 127.0.0.1:8080 backup;
       }
      }
      #配置keeplived
      vim /etc/keepalived/keepalived.conf
      global_defs {
      vrrp_mcast_group4 224.100.27.1
      }
      vrrp_script chk_down {
                   script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
                   interval 1
                   weight -5
                           }
      vrrp_script chk_nginx {
                   script "killall -0 nginx && exit 0 || exit 1"
                   interval 1
                   weight -5
                   fall 2
                   rise 1
      }
      vrrp_instance VI_1 {
       state BACKUP
       interface eno16777736
       virtual_router_id 51
       priority 98
       advert_int 1
       nopreempt
       authentication {
           auth_type PASS
           auth_pass 1111
       }
       virtual_ipaddress {
           172.18.27.254/16 dev een016777736 label eno16777736:0
       }
       track_script {
           chk_down
           chk_nginx
       }
       track_interface{
           eno16777736
       }
      }
      #启动服务
      systemctl start nginx keepalived

      试验效果

      正常状态

      技术分享

      一个web server 宕机了

      技术分享

      一个nginx proxy服务器宕机了

      技术分享
      技术分享
      能够正常运行

keepalived+nginx-upstream部署高可用反向代理

标签:.com   alt   down   安装软件   nginx   软件   启动服务   nbsp   httpd服务   

原文地址:http://www.cnblogs.com/chblogs/p/7110567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!