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 19:29
下一篇 2017-05-15 20:31

相關推薦

  • Ansible Playbook Roles 和 Include 聲明-手稿

    Edit Ansible Playbook Roles 和 Include 聲明 Ansible Playbook Roles 和 Include 聲明 1. Introduction 2. Task Include Files And Encouraging Reuse 3. Roles 4. Role Default Variables 5. Role …

    Linux干貨 2016-03-28
  • N22-第一周練習作業-冥界之王

    1.描述計算機系統的組成及功能硬件組成(輸入設備,輸出設備,存儲器,運算器,控制器) 輸入設備:鼠標,鍵盤,麥克,聲卡(輸入聲音),掃描儀,手寫板等輸出設備:顯示器,聲卡(輸出聲音),音箱,投影儀等存儲器:內存,硬盤,磁帶,CPU內部還可以分1,2,3級緩存運算器:主要完成對二進制數據的定點算術運算(加減乘除)、邏輯運算(與或非異或)以及移位操作。在某些CP…

    Linux干貨 2016-08-15
  • N26-第一周作業

    1、描述計算機的組成及其功能;  計算機組成部分分為硬件及軟件。  硬件:  計算機硬件主要有五大部分組成:運算器、控制器、存儲器、輸入設備、輸出設備;  1)運算器、控制器,統稱為處理器,也就是CPU:    主要功能是對各種數據進行運算,包括加、減、乘、除的算術運算,還包括進行邏輯判斷的能力,如…

    Linux干貨 2016-12-31
  • 馬哥教育網絡班N22期+第7周作業

    1、創建一個10G分區,并格式為ext4文件系統;(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1tune2fs -o acl /dev/sdb1(2) 掛載至/data/mydata目錄,要求掛載時禁止…

    Linux干貨 2016-11-14
  • 邏輯卷管理器LVM使用簡介

    邏輯卷管理器(LVM) 原理圖如下: 先準備一個分區/dev/sdb1,注意也存在ID問題,選擇8e。 1.先把磁盤變成物理卷 在做這步前可以先看下系統中存在的物理卷,沒有就什么都不會顯示。 把我們準備好的兩個磁盤變成物理卷,注意我那使用舊的格式化的分區磁盤,可能會出現上面有文件系統或者卷標類型的問題,所以盡量使用新磁盤做實驗。如果出現這種情況,可以使用dd…

    2017-05-02
  • 馬哥教育網絡班22期+第15周課程練習

    1、總結sed和awk的詳細用法; sed [OPTION]…  'script'  [input-file] … script: 地址定界編輯命令 常用選項: -n:不輸出模式空間中的內容至屏幕; -e script, –expression=sc…

    Linux干貨 2016-12-14
欧美性久久久久