更多请支持:http://www.webyang.net/html/web/article_134.html
最近nginx经常502,解决502最好的办法就是重启php-fpm。
手动去重启还是比较麻烦的事情,最好的就是扔到shell里去。
vim restart-php-fpm.sh
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。
立即学习“PHP免费学习笔记(深入)”;
#!/bin/shSERVICE=\'php-fpm\'#if ps ax | grep -v grep | grep $SERVICE > /dev/nullif netstat -anp | grep 9000 > /dev/nullthen echo \"$SERVICE service running, everything is fine\"else echo \"$SERVICE is not running\" service php-fpm startfi
本地虚拟机测试了一下,可行,扔到服务器上去,结果发现502的时候并未php-fpm没有进程,而是php-fpm僵死。
所以走了另外一种方案:
vim restart-php-fpm.sh
立即学习“PHP免费学习笔记(深入)”;
#!/bin/bashMY_URL=\"http://www.webyang.net\"RESULT=\'curl -I $MY_URL | grep \"HTTP/1.1 502\"\' if [ -n \"$RESULT\" ]; then#如果502则会执行这里的内容,随便加或改killall -9 php-cgiservice php-fpm restartfi
这样的话,还是手动的,如果需要自动,自己添加到crontab里去。
chmod 755 restart-php-fpm.sh
运行crontab -e
设置restart-php-fpm.sh 每一分钟自动执行一次(时间可以按自己要求调)
*/1 * * * * /home/restart-php-fpm.sh
查看设置成功还是失败
crontab -l
或者写一个shell死循环,隔一个时间段去执行即可。










