Nginx加Keepalived實現高可用

  1. 準備虛擬機(已安裝nginx), 安裝教程 : 鏈接地址
  2. 設置固定 IP : 鏈接地址
  3. Keepalived
  4. 官網地址 : https://www.keepalived.org/
  5. 下載地址 : https://yonxin.lanzous.com/b00zjg5hi
    密碼 : 4aru
  6. 先安裝 gcc 和 gcc++

yum install gcc
yum install gcc-c++

  1. 解壓縮keepalived到指定目錄

tar -zxvf keepalived-1.4.2.tar.gz -C /usr/local/src/

安裝openssl

yum install -y openssl openssl-devel

在這裏插入圖片描述
在這裏插入圖片描述

安裝Keepalived

  1. 解壓縮keepalived到指定目錄

tar -zxvf keepalived-1.4.2.tar.gz -C /usr/local/src/

  1. 如圖
    在這裏插入圖片描述
  2. 進入解壓目錄

cd /usr/local/src/keepalived-1.4.2

  1. 執行配置

./configure --prefix=/usr/local/keepalived

  1. 如圖
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. 編譯安裝

make && make install

  1. 如圖
    在這裏插入圖片描述
    在這裏插入圖片描述

初始化配置及啓動測試:

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

在這裏插入圖片描述

  1. 配置 keepalived 命令可以在任意目錄下執行

cp /usr/local/keepalived/sbin/keepalived /usr/local/bin/

在這裏插入圖片描述
2. 將 keepalived 腳本放到 /etc/init.d/目錄下

cp /usr/local/src/keepalived-1.4.2/keepalived/etc/init.d/keepalived /etc/init.d/

在這裏插入圖片描述
3. 拷貝 keepalived.conf 配置文件到 /etc/keepalived/目錄下, 當 keepalived 啓動的時候默認就會到 /etc/keepalived/ 目錄下找配置文件

mkdir /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

在這裏插入圖片描述
4. 啓動、關閉、重啓、查看狀態

service keepalived start|stop|restart|status

  1. 啓動 keepalived 服務

在這裏插入圖片描述
6. 啓動完後查看狀態發現啓動失敗, 說配置文件有錯誤, 如圖
在這裏插入圖片描述
上述錯誤下面解決

準備從機

  1. 關閉當前主機(避免ip衝突), 克隆一臺
  2. 選中當前主機, 右鍵 管理 克隆
    在這裏插入圖片描述
  3. 然後下一步, 下一步, 創建完整的克隆
    在這裏插入圖片描述
  4. 然後選擇修改虛擬機名稱, 及克隆存放路徑
    在這裏插入圖片描述
  5. 等待完成關閉即可
  6. 重置網卡mac地址
    在這裏插入圖片描述
  7. 修改靜態IP , 配置文件修改 : 鏈接地址
  8. 手動修改
    在這裏插入圖片描述
  9. 按一下關閉打開即可生效
    在這裏插入圖片描述
  10. 然後啓動主機

主備配置文件修改

  1. 修改主服務器keepalived.conf配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }

   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.230.201
   smtp_connect_timeout 30
   router_id nginx_master
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
#檢測腳本定義
vrrp_script chk_http_port {
    script "/etc/keepalived/nginx_check.sh"
    interval 2   # 腳本執行的間隔
    weight   2   # 權重等級
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    #主從的優先級, 主機一定要大於從機
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # VIP: 提供給外部訪問的地址, 必須和主從在同一個網段內, 主從地址不能相同
    virtual_ipaddress {
        192.168.230.190
    }
}

  1. 如圖
    在這裏插入圖片描述
  2. 修改完後按 esc 刪除沒用的行, 保存退出!

d200d

  1. 修改從機服務器 keepalived.conf配置文件

vim /etc/keepalived/keepalived.conf

  1. 如圖
    在這裏插入圖片描述
  2. 修改完後按 esc 刪除沒用的行, 保存退出!

d200d

主從服務器創建相同的檢查腳本文件

  1. 主機在 /etc/keepalived/目錄下創建 nginx_check.sh腳本配置文件

vim /etc/keepalived/nginx_check.sh

  1. 寫入一下腳本
#!/bin/bash
A=`ps -C nginx -no-header |wc -l`
if [ $A -eq 0 ];then
  /usr/local/nginx/sbin/nginx
  sleep 2
  if [ `ps -C nginx --no-header |wc -l` -eq 0];then
    killall keepalived
  fi
fi
  1. 如圖
    在這裏插入圖片描述
  2. 保存退出!
  3. 從機操作和上面一樣
  4. nginx_check.sh 文件設置可執行權限,[ 主從都要設置 ]

chmod 777 /etc/keepalived/nginx_check.sh

在這裏插入圖片描述

配置完信息後在主從機中分別啓動nginx 和 keepalived

在這裏插入圖片描述

測試

  1. 修改主備nginx的index.html 頁面顯示內容區分主備

vim /usr/local/nginx/html/index.html

  1. 添加一句話測試, 如圖在這裏插入圖片描述
  2. 在瀏覽器地址欄輸入配置的虛擬IP訪問成功能, 表示高可用搭建完成!!

雙主模式

  1. 在主機keepalived.conf最後一行添加
vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111 
    }
    virtual_ipaddress {
        192.168.230.191
    }
}

在這裏插入圖片描述
2. 在從機keepalived.conf最後一行添加

vrrp_instance VI_2 {
    state MASTER
    interface ens33
    virtual_router_id 52
    priority 190
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111 
    }
    virtual_ipaddress {
        192.168.230.191
    }
}

在這裏插入圖片描述
3. 修改完後重新加載配置文件

service keepalived reload

感謝閱讀, 如有什麼更好的建議或方法 ,可以留言或進羣交流:1101584918,歡迎大家加入。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章