今天在调试keepalived+nginx高可用(参考文章https://blog.csdn.net/l1028386804/article/details/72801492)的时候/var/log/message报错didn't respond to SIGTERM,网上搜索了半天也米有找到准确的答案,通过上网查资料感觉应该是keepalive监控nginx的shell脚本的问题,于是把脚本摘出来在linux中执行才发现问题 A=ps -C nginx –no-header |wc -l
这句话中 -no-header中第一个中划线是中文的,而且应该是两个中划线,以后用别人的东西一定要谨慎,出现问题耐心调试。 在此记录一下,希望可以帮到遇到同样问题的人。
下面是原文中shell脚本内容:
vi /etc/keepalived/nginx_check.sh
#!/bin/bash
A=ps -C nginx –no-header |wc -l
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ ps -C nginx --no-header |wc -l
-eq 0 ];then
killall keepalived
fi
fi