中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

keepalived雙機熱備nginx怎么配置

發布時間:2022-04-27 14:29:54 來源:億速云 閱讀:146 作者:iii 欄目:大數據

本文小編為大家詳細介紹“keepalived雙機熱備nginx怎么配置”,內容詳細,步驟清晰,細節處理妥當,希望這篇“keepalived雙機熱備nginx怎么配置”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

環境準備:

  2臺centos: 192.168.0.105 和192.168.0.118, 虛擬ip(vip)為192.168.0.119

配置keepavlived

  分別在105和118上安裝keepalived

yum install keepalived

  準備心跳角本

  keepalived的配置相當靈活,可以定時執行角本命令,用于心跳檢查,比如,我們訪問nginx發現nginx不可訪問時,就關閉keepalived,從而切換到從nginx來實現不間斷的服務支持。

vi /etc/keepalived/keepalived.conf

#!/bin/bash

count=0
for (( k=0; k<2; k++ ))
do
 check_code=$( curl --connect-timeout 3 -sl -w "%{http_code}\\n" http://localhost:81 -o /dev/null )
 if [ "$check_code" != "200" ]; then
  count=count +1
  continue
 else
  count = 0
  break
 fi
done
if [ "$count" != "0" ]; then
 killall keepalived
 exit 1
else
 exit 0
fi

  這段角本的意思就是說每次的心跳檢查會執行一個for循環,訪問,在for的2次循環中如果返回的狀態都不是200就會關閉keepalived。這個角本在105和118兩臺機器上都要準備好。

  設置118機器上的keepalived為主節點,105機器上的keepalived為從節點,它們兩個的配置文件差不太多

vi /etc/keepalived/keepalived.conf

  118機器keepalived的配置文件

! configuration file for keepalived
vrrp_script chk_nginx {
 script "/etc/keepalived/check_nginx.sh" # 心跳檢測角本
 interval 2 #腳本執行間隔,每2s檢測一次
 weight -5 #腳本結果導致的優先級變更,檢測失敗(腳本返回非0)則優先級 -5
 fall 3 #檢測連續2次失敗才算確定是真失敗。會用weight減少優先級(1-255之間)
 rise 2 #檢測1次成功就算成功。但不修改優先級
}
vrrp_instance vi_1 {
 state master #指定keepalived的角色,master表示此主機是主服務器,backup表示此主機是備用服務器
 interface eth0 #指定監測網絡的接口。實例綁定的網卡,因為在配置虛擬ip的時候必須是在已有的網卡上添加的
 mcast_src_ip 192.168.0.118 ## 發送多播數據包時的源ip地址
 virtual_router_id 51 #虛擬路由標識,master和backup必須是一致的
 priority 100 #定義優先級,數字越大,優先級越高
 advert_int 2 #設定master與backup負載均衡器之間同步檢查的時間間隔,單位是秒
 authentication { #設置驗證類型和密碼。主從必須一樣
  auth_type pass #設置vrrp驗證類型,主要有pass和ah兩種
  auth_pass 1111 #設置vrrp驗證密碼,在同一個vrrp_instance下,master與backup必須使用相同的密碼才能正常通信
 }
 virtual_ipaddress {
  192.168.0.119 #vrrp 虛擬地址 如果有多個vip,換行填寫
 }
 track_script {
  chk_nginx # 心跳腳本,即在 vrrp_script 部分指定的名字
 }
}

115機器上的角本對上面的角本稍做變動即可

改變 state master -> state backup,priority 100 -> priority 90,mcast_src_ip 192.168.0.118 -> mcast_src_ip 192.168.0.105。其他的地方保持不變,是不是很簡單。

! configuration file for keepalived
vrrp_script chk_nginx {
 script "/etc/keepalived/check_nginx.sh"
 interval 2
 weight -5
}
vrrp_instance vi_1 {
 state backup # 修改
 interface eth0
 mcast_src_ip 192.168.0.105 # 修改 為本機ip
 virtual_router_id 51
 priority 90 #數字變小
 advert_int 2
 authentication {
  auth_type pass
  auth_pass 1111
 }
 virtual_ipaddress {
  192.168.0.119
 }
 track_script {
  chk_nginx
 }
}

到這里keepalived的簡單配置就完成了下面就啟動keepalived

service keepalived start

安裝nginx

查看nginx的依賴庫是否完整 

rpm -qa zlib
rpm -qa zlib-devel
rpm -qa openssl
rpm -qa openssl-devel
rpm -qa pcre
rpm -qa pcre-devel
rpm -qa gcc

keepalived雙機熱備nginx怎么配置

如果沒有就安裝 

yum -y install gcc zlib zlib-devel openssl openssl-devel pcre-devel

下載并解壓nginx

mkdir nginxsrc
cd nginxsrc/

keepalived雙機熱備nginx怎么配置

wget http://nginx.org/download/nginx-1.13.9.tar.gz
tar zxvf nginx-1.13.9.tar.gz
cd nginx-1.13.9/

keepalived雙機熱備nginx怎么配置

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

安裝在/usr/local/nginx/sbin/nginx 目錄下 

make&&make install

keepalived雙機熱備nginx怎么配置

執行成功后會顯示leaving directory  

keepalived雙機熱備nginx怎么配置

啟動

/usr/local/nginx/sbin/nginx

keepalived雙機熱備nginx怎么配置

檢查

ps aux|grep nginx

keepalived雙機熱備nginx怎么配置

開機啟動

vi /etc/rc.local

添加一行

/usr/local/nginx/sbin/nginx

keepalived雙機熱備nginx怎么配置

因為我的機器上80端口被別的應用占用了,所以就修改105和118的 nginx.conf 把端口80 修改為81

vi /usr/local/nginx/conf/nginx.conf

 keepalived雙機熱備nginx怎么配置

分別個性105 和119上的index.html 加上一個ip以便們們識別打開的是哪個ip上的index.html

vi /usr/local/nginx/html/index.html

keepalived雙機熱備nginx怎么配置

nginx重新加載配置

/usr/local/nginx/sbin/nginx -s reload

好了,我們訪問一下

curl 192.168.0.119:81

返回的html是 118機器上的index.html

keepalived雙機熱備nginx怎么配置

 現在我們把118的nginx停止

 /usr/local/nginx/sbin/nginx -s stop

這時118上的keepalived的心跳檢查角本發現nginx無法訪問會把keepalived關閉,然后轉向從節點

我們再訪問一下119

 curl 192.168.0.119:81

keepalived雙機熱備nginx怎么配置

在118上重新啟動nginx和keepalived

再訪問119 返回的網址是118上的index.html

讀到這里,這篇“keepalived雙機熱備nginx怎么配置”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄢陵县| 吉林市| 永寿县| 大洼县| 昌邑市| 鄱阳县| 磐石市| 会同县| 乌拉特中旗| 大英县| 长海县| 富宁县| 黄山市| 綦江县| 邢台县| 郯城县| 叙永县| 伊金霍洛旗| 鄂州市| 玛纳斯县| 桦甸市| 南靖县| 镇远县| 开鲁县| 大宁县| 垣曲县| 大安市| 福安市| 淅川县| 张家口市| 晋中市| 山阴县| 临西县| 赤水市| 英德市| 武平县| 青神县| 京山县| 海晏县| 东莞市| 科技|