2、解壓安裝
3、配置開機啟動
4、對 keepalived.conf 配置:
5、nginx_check.sh 指令碼:
6、啟動兩台機器的keepalived
7、測試
先安裝 keepalived 編譯需要依賴包:
yum install -y openssl openssl-devel
tar -zxvf keepalived-1.2.18.tar.gz -c /usr/local/ #解壓到 /usr/local/keepalived 目錄下
cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived # prefix指定 keepalived 安裝路徑
make
&&make
install
將 keepalived 安裝成linux系統服務,因為沒有使用 keepalived 的預設安裝路徑(預設路徑:/usr/local),安裝完成之後,需要做一些修改工作:
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
可以設定開機啟動:chkconfig keepalived on
,到此我們安裝完畢。
vim /etc/keepalived/keepalived.conf
keepalived.conf 配置檔案說明:
## ! configuration file for keepalived
global_defs
vrrp_script chk_nginx
## 定義虛擬路由 vi_1 為自定義標識。
vrrp_instance vi_1
track_script
virtual_ipaddress
}
對 chk_nginx 的說明:
keepalived 會定時執行指令碼並且對指令碼的執行結果進行分析,動態調整 vrrp_instance的優先順序。這裡的權重weight 是與下面的優先順序priority有關,如果執行了一次檢查指令碼成功,則權重會 -20,也就是由100 - 20 變成了80,master 的優先順序為80 就低於了backup的優先順序90,那麼會進行自動的主備切換。
如果指令碼執行結果為0並且weight配置的值大於0,則優先順序會相應增加。
如果指令碼執行結果不為0 並且weight配置的值小於0,則優先順序會相應減少。
## ! configuration file for keepalived
global_defs
vrrp_script chk_nginx
vrrp_instance vi_1
track_script
virtual_ipaddress
}
#!/bin/basha=`
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
fifi
將 nginx_check.sh 指令碼分別copy到兩台機器的/etc/keepalived/
資料夾下。
賦予可執行許可權:
chmod +x /etc/keepalived/nginx_check.sh
先啟動2臺機器的 nginx 之後,再啟動兩台機器的 keepalived。
啟動2臺機器的 nginx :
/usr/local/nginx/sbin/nginx # 先啟動 nginx
再啟動 keepalived:
service keepalived start
檢視程序:
ps -ef |
grep nginx
ps -ef |
grep keepalived
可以進行測試,首先看一下倆臺機器的ip a
命令下 都會出現乙個虛擬ip,我們可以停掉 乙個機器的keepalived,然後測試,命令:service keepalived stop
。結果發現當前停掉的機器已經不可用,keepalived 會自動切換到另一台機器上。
我們可以測試在 nginx 出現問題的情況下,實現切換,這個時候我們只需要把nginx的配置檔案進行修改,讓其變得不可用,然後強殺掉nginx程序即可,發現也會實現自動切換伺服器節點。
nginx keepalived學習目錄
keepalived權威指南 深入理解nginx nginx模組開發與架構解析第二版 nginx開發從入門到精通 keepalived工作原理和配置說明 1 nginx安裝和介紹 2 nginx的啟動和停止 3 nginx程序模型 4 nginx處理請求過程 5 nginx配置一 6 nginx配置...
Nginx Keepalived 負載均衡
喜歡搞nginx,這兩天研究了一下nginx的負載配置 nginx平台搭建 nginx mysql php fpm搭建高效能nginx平台 單nginx負載均衡 nginx 負載均衡 配置全過程 熟悉上面的配置之後,今天我再來搞nginx keepalived 的配置,具體拓撲如下 一 安裝keep...
nginx keepalived雙機熱備
採用nginx實現反向 配置集群,實現軟f5的功能。nginx.conf的配置如下 server 192.168.2.134 8082 upstream socologin server access log home soco share nginx logs access.log access ...