nginx+keepalived详细配置信息
Nginx + Keepalived
第一步:
下載keepalived地址:http://www.keepalived.org/download.html
解壓安裝:
tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/
yum install -y openssl openssl-devel(需要安裝一個(gè)軟件包)
cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived
make && make install
第二步:
將keepalived安裝成Linux系統(tǒng)服務(wù),因?yàn)闆]有使用keepalived的默認(rèn)安裝路徑(默認(rèn)路徑:/usr/local),安裝完成之后,需要做一些修改工作:
首先創(chuàng)建文件夾,將keepalived配置文件進(jìn)行復(fù)制:
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
然后復(fù)制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/
可以設(shè)置開機(jī)啟動:chkconfig keepalived on,到此我們安裝完畢!
第三步:對配置文件進(jìn)行修改:vim /etc/keepalived/keepalived.conf
keepalived.conf配置文件說明:
(一)Master
! Configuration File for keepalived
global_defs {
router_id bhz005 ##標(biāo)識節(jié)點(diǎn)的字符串,通常為hostname
}
keepalived 會定時(shí)執(zhí)行腳本并且對腳本的執(zhí)行結(jié)果進(jìn)行分析,動態(tài)調(diào)整vrrp_instance的優(yōu)先級。這里的權(quán)重weight 是與下面的優(yōu)先級priority有關(guān),如果執(zhí)行了一次檢查腳本成功,則權(quán)重會-20,也就是由100 - 20 變成了80,Master 的優(yōu)先級為80 就低于了Backup的優(yōu)先級90,那么會進(jìn)行自動的主備切換。
如果腳本執(zhí)行結(jié)果為0并且weight配置的值大于0,則優(yōu)先級會相應(yīng)增加。
如果腳本執(zhí)行結(jié)果不為0 并且weight配置的值小于0,則優(yōu)先級會相應(yīng)減少。
vrrp_script chk_nginx {
script “/etc/keepalived/nginx_check.sh” ##執(zhí)行腳本位置
interval 2 ##檢測時(shí)間間隔
weight -20 ## 如果條件成立則權(quán)重減20(-20)
}
定義虛擬路由 VI_1為自定義標(biāo)識。
vrrp_instance VI_1 {
state MASTER ## 主節(jié)點(diǎn)為MASTER,備份節(jié)點(diǎn)為BACKUP
## 綁定虛擬IP的網(wǎng)絡(luò)接口(網(wǎng)卡),與本機(jī)IP地址所在的網(wǎng)絡(luò)接口相同(我這里是eth6)
interface eth6
virtual_router_id 172 ## 虛擬路由ID號
mcast_src_ip 192.168.1.172 ## 本機(jī)ip地址
priority 100 ##優(yōu)先級配置(0-254的值)
Nopreempt ##
advert_int 1 ## 組播信息發(fā)送間隔,倆個(gè)節(jié)點(diǎn)必須配置一致,默認(rèn)1s
authentication {
auth_type PASS
auth_pass bhz ## 真實(shí)生產(chǎn)環(huán)境下對密碼進(jìn)行匹配
}
}
(二)Backup
! Configuration File for keepalived
global_defs {
router_id bhz006
}
vrrp_script chk_nginx {
script “/etc/keepalived/nginx_check.sh”
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface eth7
virtual_router_id 173
mcast_src_ip 192.168.1.173
priority 90 ##優(yōu)先級配置
advert_int 1
authentication {
auth_type PASS
auth_pass bhz
}
}
(三)nginx_check.sh 腳本:
#!/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
(四)我們需要把master的keepalived配置文件 copy到master機(jī)器(172)的 /etc/keepalived/ 文件夾下,在把backup的keepalived配置文件copy到backup機(jī)器(173)的 /etc/keepalived/ 文件夾下,最后把nginx_check.sh腳本分別copy到兩臺機(jī)器的 /etc/keepalived/文件夾下。
(五)nginx_check.sh腳本授權(quán)。賦予可執(zhí)行權(quán)限:chmod +x /etc/keepalived/nginx_check.sh
(六)啟動2臺機(jī)器的nginx之后。我們啟動兩臺機(jī)器的keepalived
/usr/local/nginx/sbin/nginx
service keepalived start
ps -ef | grep nginx
ps -ef | grep keepalived
可以進(jìn)行測試,首先看一下倆臺機(jī)器的ip a 命令下 都會出現(xiàn)一個(gè)虛擬ip,我們可以停掉 一個(gè)機(jī)器的keepalived,然后測試,命令:service keepalived stop。結(jié)果發(fā)現(xiàn)當(dāng)前停掉的機(jī)器已經(jīng)不可用,keepalived會自動切換到另一臺機(jī)器上。
(七)我們可以測試在nginx出現(xiàn)問題的情況下,實(shí)現(xiàn)切換,這個(gè)時(shí)候我們只需要把nginx的配置文件進(jìn)行修改,讓其變得不可用,然后強(qiáng)殺掉nginx進(jìn)程即可,發(fā)現(xiàn)也會實(shí)現(xiàn)自動切換服務(wù)器節(jié)點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的nginx+keepalived详细配置信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载保存】Lucene7.1.0超详细
- 下一篇: spark整合MySQL