服务器意外重启之后PHP-FPM不能启动-php程序员培训,php开发,电脑编程

服务器意外重启之后PHP-FPM不能启动

2018-04-20 10:14 阅读次数:来源:php开发电脑编程 新闻作者:php程序员培训

 

 


       

  周一又是新的开始!所有事情都按照往常的节奏按部就班,有条不紊的进行着。首先是检查下各网站及应用系统是否正常,然后看看日志信息是否也有异样,一圈下来结果跟以前差一样没有其它问题。

  今天唯独没有像往一样,上线之后并没打开系统监控(平时都是用SecureCRT登录系统之后,打开TOP命令让它一直在线,偶尔看下)。到了早上10点多快11点的时候,随手又点击了一下网站,这下出现的画面让我为之一醒(不是一惊)

  所 实话这个介面还真不多见,但跟这个相似的就是前后端连接超时也会出现一个提示页面,但内容不太一样。这下我就急了,难道被人黑了?因为最近老有朋友说他的网站被挂马了,所以我一个冲上来的念头就是被人黑了。连忙SSH登录后台看看,最后的登录IP也是自己的,这才稍有点放心,是自己紧张过头了。

  稍作冷静之后,再结合提示页面的信息,应该是系统服务出了问题而非被入侵造成。于是就从检查日志、进程、端口等方面着手展开排查,很快就在php-fpm.log日志文件有所发现,几乎全部都是同样的信息,如下:

  然后再检查下PHP-FPM进程和9000端口,我勒个去~没有进程(自然就没有端口了),到底怎么回事?我安装的时候明明已经加入开机启动PHP-FPM服务的,怎么现在居然没起来呢?索性手动启动试试:

  我再根据日志信息问过度娘,她说出现这样的提示应该是日志超过了2G导致,要解决这个问题就把相关参数调整一下,把log_level由notice改为error,只记录错误级别的信息。

  很快就找到f文件并作相应修改(不过我马上发觉得有问题:刚才查日志的时候,那个日志才1M不到,距离2G还很远呢,所以断定不是这 个问题了),但还是修改一下吧,反正没其它影响的。不过查到这里,心里不禁紧张起来。这时才想起要问问运营商,是不是他们做过什么手脚,这才得知一小时前他们重启过机器,再结合刚才手动启动服务和停止服务时的提示信息,一个说php-fpm已经运行,一个说不能终止服务。

  突然似乎想到了什 么,要检查下PID文件,因为在Linux下记录某个进程是否运行是通过生成一个对应的PID文件,写入当前的进程号作标识的。真是喜出望外呀~这个 pid文件是空的,虽然有这个名称的文件,但里边没有内容。所以就解释了为什么启动服务就说已经运行,停止它的时候说失败了。几经检查,发现用来启动 php-fpm的脚本写得不严密,只是在启动的时候检查是否有pid文件存在而不管它是否有真实的PID内容,才造成了启动、停止都不正常。

  在启动指令之前加入对PID文档的检查,如果是空文件就删除,使得服务可以正常启动。

  $php_fpm_pid是指向php-fpm记录进程号的文件,定义在php-fpm的启动脚本前边,详细的内容会在下一篇文章介绍。我这次的遭遇就是因为服务器意外被重启,导致php-fpm.pid文件为空(为什么出现空文件的情况还有待求证)。

  以上就是本周第一天遇到的一段小插曲~虽然没造成大影响,但是又一次考验了自己在这些情况下处事的应变能力,希望此文也能帮助到其它站长:在发现问题之后先冷静,并认真阅读相关提示信息,不明白意思的地方可以问问度娘或者狗哥,对可能出现问题的地方逐一排查,在解决问题的同时也长进了相关的知识!!




友情链接: 书法作品欣赏 壹诺网站优化 山东威海凤凰湖 贵阳幼师学校 威海石岛楼盘 公务员考试 凤凰湖官网 威海银滩海景房 防爆板 厝内小眷村加盟