Ubuntu Server 14.04 下 service php-fpm restart 提示 restart: Unknown instance

本 blog 使用的主题是当初在主题列表里随便找的一个,(个人也不是很喜欢过于简洁的单栏主题)自己稍微做了一点小的修改(主要是配色、背景图片和 因为这个原因修改了 functions.php),在 WordPress 里作出的修改在主题更新版本的时候全部会丢失所以一直没更新,今天想参考官方文档通过子主题的办法升级,但是一点更换主题就白屏以至于整个网站都挂掉了,curl -I 发现是http 500,检查 PHP 进程健在,nginx 健在,检查先前的步骤并无不妥于是开始查日志 /var/log/nginx/error.log

似乎是我修改过的 functions.php 出了什么问题,于是想查看一下 PHP 的日志,

咦,为什么什么消息也没有?

然后一想这个日志是 php-fpm 进程的日志,检查程序运行错误应该在其他地方,于是检查 /etc/php5/fpm/pool.d/www.conf

发现 php_admin_value[error_log] = /var/log/php-fpm/www-error.log这行被注释掉了,删掉注释,重启服务。

蹦出了个奇怪的错误:
stop: Unknown instance:php5-fpm start/running, process 18302
似乎,进程没有停下来?

再试一次:

NWIJRH$OJ4~3~_6}V$(N28T

 

确认这个出现了奇怪的 bug,于是放狗搜索。

从一个 stackoverflow 的问题得知这是一个已经确认的系统 bug(官网链接) ,出现在 Ubuntu 低于15.04的各个版本上,这个问题时间是2013年,竟然现在还没有通过修改包来解决,最后一条评论( 2015-07-27)写到:

I have documented the workaround in the bug description. This bug presumably does not affect releases >= Vivid since it is related to upstart and Ubuntu runs systemd since Vivid.So marking Fix Released and creating a Trusty task in case someone can come up with a good fix for Trusty that can be SRU’d. Importance -> Medium as a workaround is available·····

status: Confirmed → Fix Released

importance: Undecided → Medium

意思就是说既然新版本不影响这 bug 就不重要了吗WTF?

1f178a82b9014a90a12bde0ea9773912b31bee68

完整的解决方案在 Github(全程使用 root 操作) :

这个 Github repo 的作者写到:

By default it never happens. Possibly after optimizing the  www.conf file, somehow it activate this.

在默认环境下这个错误不会出现,错误可能是因为你修改了www.conf配置文件。

如果你不想保留现有的 PHP 环境相关配置,可以直接重装:

如果你想对 php-fpm 配置进行修改,先编辑  /etc/init/php-fpm.conf

解除这行的注释: reload signal USR2

备份现有的 init.d 文件:

从 Github 导入新的 init.d 文件:

Github 原文说这时候重启服务即可,而我的情况是这时候问题依旧,尝试强杀进程:

再尝试使用 service 启动 php5-fpm ,再重启,正常了。

第一次遇到系统本身的 bug ,解决起来虽然不算很麻烦但是感觉还是很蛋疼,目前还不知道到底是什么原因导致了这个错误,实在是很无语的事情。


什么?你问我主题改好了没,啊哈哈哈哈我先去看个番冷静下

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据