使用nginx做负载均衡,keepalived做高可用。做一个检查nginx脚本,如果nginx停止了先尝试重启它,如果仍然失败,则结束keepalived。下面代码并未写结束keepalived,只是写echo输出,测试脚本问题在哪里。
主要代码如下:
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx_pid.sh"
interval 3
}
vrrp_instance VI_1 {
......
track_script {
chk_nginx
}
}
随便写个简单脚本如下:
[root@master ~]# cat /etc/keepalived/check_nginx_pid.sh
```
#!/bin/bash
echo "OK" >> /tmp/echo.log
然后给脚本执行权限:
[root@master ~]# chmod +x /etc/keepalived/check_nginx_pid.sh
结果/tmp/echo.log中什么都没有。经过多方寻找和测试,终于找到答案。
vrrp_script chk_nginx
{ **//这个{要另起一行**
script "/etc/keepalived/check_nginx_pid.sh"
interval 3
}
并且它要放在下面段落之前:
vrrp_instance VI_1 {
......
}
心中一万只草泥马在奔腾