nginx+keepalived高可用服務器宕機解決方案
1.基本服務器宕機的主從切換配置
兩台nginx服務器,分別安裝keepalived,配置/etc/keepalived/keepalived.conf
主從配置:
主nginx
修改主nginx下/etc/keepalived/keepalived.conf文件
備nginx
修改備nginx下/etc/keepalived/keepalived.conf文件
配置備nginx時需要注意:需要修改state為BACKUP , priority比MASTER低,virtual_router_id和master的值一致
此時如果主機宕機則備機會頂替主機獲得虛擬ip
2.基於nginx進程死掉的主從切換配置
keepalived是通過檢測keepalived進程是否存在判斷服務器是否宕機,如果keepalived進程在但是nginx進程不在了那么keepalived是不會做主備切換,所以我們需要寫個腳本來監控nginx進程是否存在,如果nginx不存在就將keepalived進程殺掉。
在主nginx上需要編寫nginx進程檢測腳本(check_nginx.sh),判斷nginx進程是否存在,如果nginx不存在就將keepalived進程殺掉,check_nginx.sh內容如下:
將check_nginx.sh拷貝至/etc/keepalived下,
注意修改/etc/keepalived/check_nginx.sh的可執行權限
修改主nginx的keepalived.conf,添加腳本定義檢測:
注意下邊紅色標識地方:
修改后重啟keepalived