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

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

实验拓扑

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

实验要求

  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

    试验效果

    正常状态

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

    一个web server 宕机了

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

    一个nginx proxy服务器宕机了

    keepalived+nginx-upstream部署高可用反向代理
    keepalived+nginx-upstream部署高可用反向代理
    能够正常运行

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/75809

(0)
oranixoranix
上一篇 2017-05-15 19:29
下一篇 2017-05-15 20:31

相关推荐

  • mitaka版本openstack网络之open vSwitch

    作者:【吴业亮】 博客:http://blog.csdn.net/wylfengyujiancheng 一、硬件配置及服务拓扑1. controller节点:一块网卡2. 网络节点:四块网卡。3. 计算节点:三块网卡 controller节点1. 运行 neutron数据库2. 运行消息队列服务3. 运行认证。4. 运行OpenStack计算nova相关网络…

    2018-01-22
  • N25-Bazinga-第四周作业

    N25-Bazinga-第四周作业 1.复制/etc/ske1目录为/home/tuser1,要求/home/tuser及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost ~]# cp -a /etc/skel/ /home/tuser1 [root@localhost&nbsp…

    Linux干货 2016-12-21
  • sed&awk

    Evernote Export 1、总结sed和awk的详细用法; awk Linux文本处理工具三剑客:grep、sed和awk。其中grep是一种文本过滤工具,sed是文本编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种“排版”,进而格式化显示。 在Linux之上我们使用的是GNU a…

    Linux干货 2017-01-05
  • httpd服务归纳:httpd基本配置(配置文件格式以及常用选项)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件参数格式  配置参数    值       特点:    &nbs…

    Linux干货 2015-05-13
  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • N25期—第一周作业

    计算机的组成及其功能 计算机主要由硬件和软件两部分组成, 硬件目前由5大部件组成 控制器:类似人类的大脑!控制整个计算机的运作 运算器:对数据进行逻辑运算处理 存储器:存放数据部件 输出设备:比如显示器,打印机 输入设备:比如键盘,鼠标 Linux发行版本 主要三大分之:Debian系,Reb Hat系,Slackware系。 1.Debian GNU / …

    Linux干货 2016-12-01