平时我们搭建keepalived虚拟出VIP并不难,但这不是真正意义上的高可用,万一nginx挂了不会自动切换到另外一台好的机器上,这里需要脚本来进行协助,那一起来看看怎么操作,做个最全面的高可用方案。
工具/原料
linux服务器两台
keepalived
nginx
keepalived配置
1、keepalived配置耔阵式肥脚本A(主):global_defs { router_id NodeA}vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" interval 2 weight -20}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 50 priority 250 advert_int 1 authentication { auth_type PASS auth_pass 123456}track_script { chk_nginx}virtual_ipaddress { 192.168.98.100}}
2、keepalived配置耔阵式肥脚本B(备):global_defs { router_id NodeB}vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" interval 2 weight -20}vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 50 priority 200 advert_int 1 authentication { auth_type PASS auth_pass 123456}track_script { chk_nginx}virtual_ipaddress { 192.168.98.100}}
nginx配置
1、利用yum装好nginx填写好相关文件确定其正在运行中.
nginx脚本运行
1、在路径 /etc/keepalived/nginx_check.sh 建立ngin垓矗梅吒x脚本。内容如下:A=`ps -C nginx --no-hea颊俄岿髭der |wc -l`if [ $A -eq 0 ];thensystemctl stop keepalivedfi检测nginx停止立马停止keepalived,使VIP进行漂移。
2、手动运行sh /etc/keepalived/nginx_check.sh确认手动运行脚本没有出现报错。
3、停止nginx服务看keepalived的效果。