nginx+tomcat實(shí)現(xiàn)了負(fù)載均衡后铸豁,可以分別在兩臺(tái)服務(wù)器上安裝keepalived來(lái)監(jiān)控nginx進(jìn)程南用,實(shí)現(xiàn)服務(wù)的高可用性。具體的實(shí)現(xiàn)方式是杖刷,部署好兩套負(fù)載均衡的環(huán)境,使用keepalived將兩套環(huán)境設(shè)置為主備驳癌,并且虛擬一個(gè)ip地址作為客戶端入口滑燃,如果業(yè)務(wù)過(guò)程中主環(huán)境的nginx代理服務(wù)掛掉,keepalived會(huì)將虛擬ip切換至備服務(wù)器上繼續(xù)提供業(yè)務(wù)支持颓鲜。
環(huán)境信息如下:
服務(wù)器1:10.10.19.74(主)
服務(wù)器2:10.10.19.73(備)
虛擬ip:10.10.19.68
第一步:安裝keepalived(本文使用rpm包安裝表窘,兩臺(tái)服務(wù)器都要安裝)
安裝keepalived.png
第二步:?jiǎn)?dòng)keepalived(rpm安裝后啟動(dòng)命令在/usr/sbin/keepalived)
啟動(dòng)keepalived.png
第三步:檢查keepalived配置文件(默認(rèn)配置文件在/etc/keepalived/keepalived.conf)
keepalived配置文件說(shuō)明.png
第四步:配置主服務(wù)器上的keepalive配置(其他需要的配置刪除,使用以下配置即可)
keepalived主服務(wù)器配置.png
第五步:配置備用服務(wù)器上的keepalived配置
備用服務(wù)器上的配置.png
第六步:創(chuàng)建監(jiān)控腳本甜滨,命名和配置文件里填寫的一致乐严,兩邊服務(wù)都要有,并且需要可執(zhí)行權(quán)限
監(jiān)控腳本內(nèi)容.png
監(jiān)控腳本的目的是判斷衣摩,如果本機(jī)沒有nginx進(jìn)程,嘗試重啟下,如果3秒之后沒有啟動(dòng)成功的話惩坑,殺掉本機(jī)keepalived進(jìn)程。此時(shí)占婉,備用服務(wù)器上的keepalived會(huì)繼續(xù)提供服務(wù),虛擬ip會(huì)在備用服務(wù)上創(chuàng)建呛梆。
監(jiān)控腳本需要有可執(zhí)行的權(quán)限.png
第七步:重啟兩邊的keepalived服務(wù)锐涯,檢查主從切換是否功能正常
重啟keepalived命令:
killall keepalived
/usr/sbin/keepalived
主服務(wù)器上正常運(yùn)行.png
主機(jī)上nginx掛掉效果.png
備用服務(wù)器繼續(xù)提供服務(wù).png
如果把主服務(wù)器nginx和keepalive啟動(dòng)起來(lái),備用服務(wù)器會(huì)繼續(xù)讓主服務(wù)器提供服務(wù)填物,這樣的操作會(huì)來(lái)回切換以實(shí)現(xiàn)主備的高可用性纹腌,不至于讓服務(wù)器完全癱瘓。