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.www58058.com/75809

(0)
oranixoranix
上一篇 2017-05-15
下一篇 2017-05-15

相關推薦

  • N22-浙江-情歌第一周博客作業

    一、計算機的組成及其功能    計算機有五大組成部分:CPU(控制器和運算器)、內存、輸入、輸出           CPU:運算、控制、寄存、緩存功能           內存:RAM       &nbsp…

    Linux干貨 2016-08-15
  • #招聘福利#深圳云戈科技有限公司廣州分公司/運維工程師/廣州/招聘3人

    深圳云戈科技有限公司廣州分公司/運維工程師/廣州 招聘人數:3人 職位名稱:運維工程師 崗位職責:負責大型數據處理系統、交易系統的維護工作。包括系統調優、數據庫調優、系統版本升級、系統事件             處理、系統監控與巡檢、數據分析與修復、實施應急方案、參數配置、系統擴容與部署、維護報告…

    Linux干貨 2016-03-28
  • N26-第五周

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost test]# cat /etc/passwd | grep -E “^(root|fedora|user1)\>” |cut -d: -f  1,7 root:/bin/bash user1:/bin/bash …

    Linux干貨 2017-02-26
  • LVS-NAT負載均衡兩個php應用(wordpress,discuzx)( Blog 19)

    結果:需要會話保持,需要共享存儲;

    Linux干貨 2017-12-20
  • 第八周練習腳本部分

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;在線的主機使用綠色顯示;不在線的主使用紅色顯示; #!/bin/bash # for((i=1;i<=254;i++));do     site="172.16.250.${i}&quot…

    Linux干貨 2016-12-15
  • 如何配置本地yum源

    在日常學習中配置本地yum源至關重要,下面簡單介紹下centos7如何配置本地yum源: 1、開機啟動前檢查是否將光盤鏡像加載,然后開機; 2、cd /run/media/root/CentOS 7 x86_64下找到Packages和repodata這兩個包非常重要,其中Packages是rpm包目錄,repodata是元數據 3、cd /etc…

    Linux干貨 2017-04-23
欧美性久久久久