nginx+keepalived

下載包?下載地址?https://www.keepalived.org/software/keepalived-2.0.20.tar.gz

解壓縮?tar -zxvf keepalived-2.0.20.tar.gz

進(jìn)入到解壓完的目錄?cd keepalived-2.0.20

準(zhǔn)備環(huán)境

安裝openssl-devel

yum -y install openssl-devel

安裝gcc

yum -y install gcc

安裝

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

make && make install

安裝完成后系統(tǒng)會(huì)在/usr/local/keepalived目錄下生成 bin etc sbin share 這 4 個(gè)文件夾葱蝗。 配置文件(keepalived.conf)在 /usr/local/keepalived/etc/keepalived 這個(gè)路徑下

拷貝配置文件

mkdir -p /etc/keepalived/?*keepalived啟動(dòng)時(shí)默認(rèn)去這個(gè)路徑加載配置文件*

cp keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

復(fù)制后就可以操作/etc/keepalived/keepalived.conf文件了

配置文件

主配置文件

global_defs {

? router_id NodeA

? vrrp_skip_check_adv_addr

? vrrp_garp_interval 0

? vrrp_gna_interval 0

}

vrrp_script check_script {

? ? ? ? script "/etc/keepalived/check_nginx.sh 80"

? ? ? ? interval 10

}

vrrp_instance VI_1 {

? ? state MASTER

? ? interface ens33

? ? virtual_router_id 131

? ? priority 100

? ? advert_int 1

? ? authentication {

? ? ? ? auth_type PASS

? ? ? ? auth_pass 1111

? ? }

? ? virtual_ipaddress {

? ? ? ? 192.168.152.131

? ? }

}

從配置文件

global_defs {

? router_id NodeB

? vrrp_skip_check_adv_addr

? vrrp_garp_interval 0

? vrrp_gna_interval 0

}

vrrp_script check_script {

? ? ? ? script "/etc/keepalived/check_nginx.sh 80"

? ? ? ? interval 10

}

vrrp_instance VI_1 {

? ? state BACKUP

? ? interface ens33

? ? virtual_router_id 131

? ? priority 100

? ? advert_int 1

? ? authentication {

? ? ? ? auth_type PASS

? ? ? ? auth_pass 1111

? ? }

? ? virtual_ipaddress {

? ? ? ? 192.168.152.131

? ? }

}

按同樣的方法配置節(jié)點(diǎn)B并修改配置文件芹橡,可將A節(jié)點(diǎn)的配置文件復(fù)制到B節(jié)點(diǎn),并修改以下幾項(xiàng):

router_id NodeB

state BACKUP

priority 99

其它項(xiàng)不必修改誓竿。

啟動(dòng)keepalived

/usr/local/keepalived/sbin/keepalived -D

查看進(jìn)程

ps aux | grep keepalived


Keepalived 正常運(yùn)行時(shí)纳猫,共啟動(dòng) 3 個(gè)進(jìn)程婆咸,其中一個(gè)進(jìn)程是父進(jìn)程,負(fù)責(zé)監(jiān)控其子進(jìn)程芜辕;一個(gè)是 vrrp 子進(jìn)程尚骄;另外一個(gè)是 checkers 子進(jìn)程

查看虛擬IP是否已經(jīng)綁定到網(wǎng)卡上

ip a

常用命令

systemctl restart keepalived

配置nginx主從切換

將寫好的腳本復(fù)制到/etc/keepalived/文件夾下*就是keepalived的配置文件內(nèi)配置的 vrrp_script check_script 節(jié)點(diǎn)*

腳本內(nèi)容

#!/bin/bash

#author:liudan

#description:check nginx service

port=$1

count=0

for (( k=0; k<2; k++ ))

do

? ? check_code=$( curl --connect-timeout 3 -sL -w "%{http_code}\\n" http://127.0.0.1:$port -o /dev/null )

? ? if [ "$check_code" != "200" ]; then

? ? ? ? count=$(expr $count + 1)

? ? ? ? sleep 3

? ? ? ? continue

? ? else

? ? ? ? count=0

? ? ? ? break

? ? fi

done

if [ "$count" != "0" ]; then

? ? #/usr/local/nginx/sbin/nginx -s restart

? ? exit 1

else

? ? exit 0

fi

配置mysql主從切換

配置文件

主配置文件

! Configuration File for keepalived

global_defs {

? ? router_id HA_MySQL #標(biāo)識(shí),雙主相同

}

vrrp_instance VI_1 {

? ? state MASTER

? ? interface ens33

? ? virtual_router_id 51 #分組侵续,主備相同

? ? priority 100 #優(yōu)先級(jí)绳匀,這個(gè)高一點(diǎn)則先把它作為master

? ? advert_int 1

? ? nopreempt #不主動(dòng)搶占資源袭祟,設(shè)置非搶占模式

? ? authentication {

? ? ? ? auth_type PASS

? ? ? ? auth_pass 1111

? ? }

? ? virtual_ipaddress {

? ? ? ? 192.168.152.131

? ? }

}

virtual_server 192.168.152.131 3306 {

? ? delay_loop 2

? ? lb_algo wrr #帶有權(quán)重的輪詢

? ? lb_kind DR

? ? persistence_timeout 60 #同一IP的連接60秒內(nèi)被分配到同一臺(tái)真實(shí)服務(wù)器

? ? protocol TCP

? ? real_server 192.168.152.132 3306 {

? ? ? ? weight 3 #權(quán)重為3

? ? ? ? notify_down /data/keepalived_shutdown.sh #當(dāng)mysq服down時(shí),執(zhí)行此腳本,殺死keepalived實(shí)現(xiàn)切換, 自殺腳本.

? ? ? ? TCP_CHECK {

? ? ? ? ? ? connect_timeout 10

? ? ? ? ? ? nb_get_retry 3

? ? ? ? ? ? delay_before_retry 3

? ? ? ? ? ? connect_port 3306

? ? ? ? }

? ? }

}

從配置文件

! Configuration File for keepalived

global_defs {

? ? router_id HA_MySQL

}

vrrp_instance VI_1 {

? ? state BACKUP

? ? interface ens33

? ? virtual_router_id 51

? ? priority 90 #優(yōu)先級(jí)薪铜,這個(gè)低一點(diǎn)

? ? advert_int 1

? ? nopreempt

? ? authentication {

? ? ? ? auth_type PASS

? ? ? ? auth_pass 1111

? ? }

? ? virtual_ipaddress { #虛擬IP (VIP)

? ? ? ? 192.168.152.131

? ? }

}

virtual_server 192.168.152.131 3306 {

? ? delay_loop 2 #每2秒檢查一次real_server存活

? ? lb_algo wrr

? ? lb_kind DR

? ? persistence_timeout 60

? ? protocol TCP

? ? real_server 192.168.152.130 3306 {

? ? ? ? weight 3

? ? ? ? notify_down /data/keepalived_shutdown.sh

? ? ? ? TCP_CHECK {

? ? ? ? ? ? connect_timeout 10 #連接超時(shí)時(shí)間

? ? ? ? ? ? nb_get_retry 3 #重連次數(shù)

? ? ? ? ? ? delay_before_retry 3 #重連間隔時(shí)間

? ? ? ? ? ? connect_port 3306 #健康檢查端口含衔,配置自己mysql服務(wù)端口

? ? ? ? }

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末股耽,一起剝皮案震驚了整個(gè)濱河市竿奏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眶根,老刑警劉巖蜀铲,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異属百,居然都是意外死亡记劝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門族扰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厌丑,“玉大人定欧,你說我怎么就攤上這事∨停” “怎么了砍鸠?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長耕驰。 經(jīng)常有香客問我爷辱,道長,這世上最難降的妖魔是什么朦肘? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任饭弓,我火速辦了婚禮,結(jié)果婚禮上媒抠,老公的妹妹穿的比我還像新娘弟断。我一直安慰自己,他們只是感情好趴生,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布阀趴。 她就那樣靜靜地躺著,像睡著了一般苍匆。 火紅的嫁衣襯著肌膚如雪刘急。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天锉桑,我揣著相機(jī)與錄音排霉,去河邊找鬼窍株。 笑死民轴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的球订。 我是一名探鬼主播后裸,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冒滩!你這毒婦竟也來了微驶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤开睡,失蹤者是張志新(化名)和其女友劉穎因苹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體篇恒,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扶檐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胁艰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片款筑。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡智蝠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奈梳,到底是詐尸還是另有隱情杈湾,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布攘须,位于F島的核電站漆撞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏于宙。R本人自食惡果不足惜叫挟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望限煞。 院中可真熱鬧抹恳,春花似錦、人聲如沸署驻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旺上。三九已至瓶蚂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宣吱,已是汗流浹背窃这。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留征候,地道東北人杭攻。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像疤坝,于是被迫代替她去往敵國和親兆解。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354