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

相关推荐

  • Grep 文本搜索工具与正则表达式

            grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Grep在实际中对于我们的工作有着很大的作用,用于对文件的搜索,通过由正则表达式字符以及…

    2017-04-15
  • 网络管理

    网络管理 本章内容 网络概念 OSI模型 网络设备 TCP/IP IP地址 配置网络 实现网络组 测试网络 网络工具 为linux网卡配置ip地址,不是给网卡配置地址,是给内核的网络功能配置,地址是属于内核。为内核配置即时生效,修改配置文件,是永久生效。ifconfig 配置信息,会立即生效,但是重启网络服务或主机,都失效。网络服务/etc/init.d/n…

    Linux干货 2016-09-05
  • Linux用户和组的相关管理命令(一、用户的相关命令)

    Linux是一个可以实现多用户登录的操作系统,通过su – 用户名 可以进行用户之间的切换,从而完成不同登录用户下对私有文件的操作,同时,每个用户有且只有一个主组,但是可以有零个或多个附加组,每个组可以是一个用户的主组,同时还可以是多个用户的附加组。因此,熟练掌握用户和组的相关命令十分重要。 首先,要了解用户和组的配置文件各有两个: 与用户相关的…

    2017-07-22
  • 【26期】Linux第二周学习小总结

    关于用户组的一些小小的整理     本周学习很多的知识,一些文件管理的技巧和命令,重定向和管道的实用技巧和拓展,最后则是到了我们的用户组的权限和管理,既然说到了管理,我们都知道在Linux中,老师讲的最多的一句话就是一切皆文件,既然是文件就会有用户去用,在里面进行各种的操作,比如增删改查啊,对文件的重新定义啊,那我们就…

    2017-07-21
  • linxu通配符

    通配符 globbing globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 ab*:ab开头的单词 *ab*:包含ab的单词 *ab:ab结尾的单词 *a*b*:包含a、b的单词 ?:匹配任意单个字符 ab?:ab开头的三个字符的单词 ??ab:ab结尾四个字符的单词 a?b:a开头、b结尾三个字符的单词…

    Linux干货 2018-03-11