nginx监控脚本
14.#
15.
16.# php-cgi 监听的IP和端口
17.V_PHP_CGI_PORT="127.0.0.1:9000 127.0.0.1:9001"
18.
19.# nginx重启的脚本
20.V_NGINX="/usr/local/nginx/s
13.# 运行: webservermonitor.sh & 14.# 15. 16.# php-cgi 监听的IP和端口 17.V_PHP_CGI_PORT="127.0.0.1:9000 127.0.0.1:9001" 18. 19.# nginx重启的脚本 20.V_NGINX="/usr/local/nginx/sbin/restart.sh" 21. 22.# 日志文件 23.V_LOG="/tmp/webservermonitor.log" 24. 25.# 函数定义:重启nginx 26.function restart_nginx(){ 27. echo "----- `date` -----" >> $V_LOG 28. echo "------------------" >> $V_LOG 29. echo "`ps aux |grep 'nginx'`" >> $V_LOG 30. echo "------------------" >> $V_LOG 31. echo "`ps aux |grep 'php-cgi'`" >> $V_LOG 32. echo "------------------" >> $V_LOG 33. echo "`netstat -nlpt | grep 'php-cgi'`" >> $V_LOG 34. echo "------------------" >> $V_LOG 35. $V_NGINX >> $V_LOG 36.} 37. 38.# 循环执行,不采用 crontab ,国为 crontab 最小单位是分钟mssql 脚本,时间太长了 39.while : 40.do 41. 42. # 1:先检测 nginx 主进程是否存在 43. V_NGINX_NUM=`ps axu |grep 'nginx' |grep -v 'grep' |wc -l` 44. if [ $V_NGINX_NUM -lt 1 ];then 45. restart_nginx 46. continue 47. fi 48. 49. # 2:再检查php-cgi是否有进程存在 50. V_PHP_CGI_NUM=`ps axu |grep 'php-cgi' |grep -v 'grep' |wc -l` 51. if [ $V_PHP_CGI_NUM -lt 1 ];then 52. restart_nginx 53. continue 54. fi 55. 56. # 3:再判断端口是否正常 57. for PORT in $V_PHP_CGI_PORT 58. do 59. V_NUM=`eval "netstat -nlpt | grep '${PORT}' | wc -l"` 60. if [ $V_NUM -lt 1 ];then 61. restart_nginx 62. continue 63. fi 64. done 65. 66. # 休眠 67. sleep 5 68.done (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |