在学习Nginx配置高可用集群时,测试时发现Keepalived监控脚步不执行,问题可能是keepalived的配置文件keepalived.conf或脚本文件有问题,导致当主服务器的Nginx挂掉后,keepalived没有被杀死,从而导致请求无法转向到从(备份)服务器!
ps:至于安装Nginx与keepalived 和 配置keepalived的配置文件、写脚本的步骤,这里不讲,默认是会的,这里只是讲解决脚本不是起效的解决方法!
踩坑影响深刻,有多种原因的影响,检查解决如下:
可能原因一:keepalived.conf配置文件没有写对,如下3个注意点:
可能原因二:脚本问题
1、可能脚本内容语法写错了,这里附上我的参考:
2、 Windows下编辑的文件每一行结尾是\n\r,而Linux下则是\n,所以就会有 多出来的\r,多出后运行脚本是会出错的!!
所以需要对脚本文件进行格式化:sed -i ‘s/\r$//’ xxxx脚本.sh
3、脚本没有可执行权限,添加权限:chmod u+x xxxx脚本.sh
测试脚本是否可以运行,执行一下脚本,如果没有打印任何信息,脚本格式是ok的了!!
附上代码
温馨提示:
1、更改keepalived配置文件和脚本,请重新启动Nginx和keepalived
2、还有,一些相关的设置一定执行要设置
3、至于如何测试脚本的功能,如Nginx挂掉后脚本尝试启动,若起动不成功则杀死keepalived的功能,这是测试,请自行测试!!!!