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

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

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
服务器意外重启之后PHP-FPM不能启动

服务器意外重启之后 PHP-FPM 不能 启动 周一又是新的开始!所有事情都按照往常的节奏按部就班,有条不紊的进行着。首先 是检查下各网站及应用系统是否正常,然后看看日志信息是否也有异样,一圈下来结果跟 以前差一样没有其它问题。 今天唯独没有像往一样,上线之后并没打开系统监控(平时都是用SecureCRT 登录系 统之后,打开TOP 命令让它一直在线,偶尔看下)。到了早上10 点多快11 点的时候,随 手又点击了一下网站,这下出现的画面让我为之一醒(不是一惊) 原文就是:An error occurred. Sorry,the page you are looking for is currently unavailable. Please try again later. If you arre the system administrator of this resource then you should check the error log for details. 所 实话这个介面还真不多见,但跟这个相似的就是前后端连接超时也会出现一个提 示页面,但内容不太一样。这下我就急了,难道被人黑了?因为最近老有朋友说他的 网站 被挂马了,所以我一个冲上来的念头就是被人黑了。连忙SSH 登录后台看看,最后的登录 IP 也是自己的,这才稍有点放心,是自己紧张过头了。 稍作冷静之后,再结合提示页面的信息,应该是系统服务出了问题而非被入侵造成。 于是就从检查日志、进程、端口等方面着手展开排查,很快就在php-fpm.log 日志文件有 所发现,几乎全部都是同样的信息,如下: connect() failed (111: Connection refused) while connecting to upstream upstream: fastcgi://:9000 from these line it is clear it is not listening to port 9000. Or its listen queue is full. 然后再检查下PHP-FPM 进程和9000 端口,我勒个去~没有进程(自然就没有端口了), 到底怎么回事?我安装的时候明明已经加入开机启动PHP-FPM 服务的,怎么现在居然没起 来呢?索性手动启动试试: # #services php-fpm start 回来之后,居然提示已经运行 php-fpm already running... #services php-fpm stop Stopping php-fpm: [FAILED] 提示失败!!!! 我再根据日志信息问过度娘,她说出现这样的提示应该是日志超过了2G 导致,要解 决这个问题就把相关参数调整一下,把log_level 由notice 改为error,只记录错误级 别的信息。 很 快就找到php-fpm.conf 文件并作相应修改(不过我马上发觉得有问题:刚才查日 志的时候,那个日志才1M 不到,距离2G 还很远呢,所以断定不是这 个问题了),但还是 修改一下吧,反正没其它影响的。不过查到这里,心里不禁紧张起来。这时才想起要问问 运营商,是不是他们做过什么手脚,这才得知一小时前 他们重启过机器,再结合刚才手 动启动服务和停止服务时的提示信息,一个说php-fpm 已经运行,一个说不能终止服务。 突然似乎想到了什 么,要检查下PID 文件,因为在Linux 下记录某个进程是否运行 是通过生成一个对应的PID 文件,写入当前的进程号作标识的。真是喜出望外呀~这个 pid 文件是空的,虽然有这个名称的文件,但里边没有内容。所以就解释了为什么启动服 务就说已经运行,停止它的时候说失败了。几经检查,发现用来启动 php-fpm 的脚本写 得不严密,只是在启动的时候检查是否有pid 文件存在而不管它是否有真实的PID 内容, 才造成了启动、停止都不正常。 解决办法: 在启动指令之前加入对PID 文档的检查,如果是空文件就删除,使得服务可以正常启 动。 if [ ! -s $php_fpm_pid ]; then rm -f $php_fpm_pid fi $php_fpm_pid 是指向php-fpm 记录进程号的文件,定义在php-fpm 的

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档