nginx用默認配置即可
1、主備配置
1、主keepAlived配置
vrrp_instance VI_1 { state MASTER #主備區分 interface eth0 virtual_router_id 51 #主備一致 priority 100 #主備區分 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } track_script { chk_nginx } }2、備keepAlived配置
vrrp_instance VI_1 { state BACKUP #主備區分 interface eth0 virtual_router_id 51 #主備一致 priority 50 #主備區分 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } }
2、互為主備
1、第一台keepAlived配置
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } } vrrp_instance VI_2 { state BACKUP interface eth0 virtual_router_id 52 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.244.201 } }2、第二台keepAlived配置
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } } vrrp_instance VI_2 { state MASTER interface eth0 virtual_router_id 52 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.244.201 } }
3、檢測nginx,實現主備高可用
1、第一台keepAlived配置
vrrp_script chk_nginx { script "/zjl/program/nginx/conf/checkNginxAlived.sh" interval 2 weight 2 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } track_script { chk_nginx } } vrrp_instance VI_2 { state BACKUP interface eth0 virtual_router_id 52 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.244.201 } track_script { chk_nginx } }
2、第二台keepAlived配置
vrrp_script chk_nginx { script "/zjl/program/nginx/conf/checkNginxAlived.sh" interval 2 weight 2 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.244.200 } track_script { chk_nginx } } vrrp_instance VI_2 { state MASTER interface eth0 virtual_router_id 52 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.244.201 } track_script { chk_nginx } }
3、監測腳本
#!/bin/bash psnginx=`ps -C nginx --no-heading|wc -l` if [ $psnginx == 0 ] ; then echo "nginx服務已關閉,嘗試重新啟動..." /zjl/commond/nginxbegin-start.sh sleep 3 if [ `ps -C nginx --no-heading|wc -l` -eq 0 ] ; then echo "nginx嘗試啟動失敗關閉keepAlived" killall keepalived else echo "nginx重新啟動成功" fi else echo "nginx服務正常..." fi