2017-07-17 82 views
0

我有一个运行一个简单的WordPress博客的apache2 + php7服务器。Apache + php 7 + FPM =系统突然中断

博客一直运行着apache + mod_php + php7,但最近在某个访问高峰期间系统崩溃了,速度变慢甚至崩溃。

因此,我搜索了如何优化配置,许多教程说mod_php很慢,我应该替换为php-fpm。

我没有和变更后的网站是noteciable快,但现在它随机崩溃,并开始呈现HTTP 500错误...

没有obvius原因新的崩溃,没有用户峰值或任何其他我可以注意到的情况。

Apache的错误日志的plent:

[fastcgi:error] [pid 37179] [client 162.158.167.177:26270] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php-fcgi" 
[fastcgi:error] [pid 37176] (104)Connection reset by peer: [client 103.22.200.111:25406] FastCGI: comm with server "/usr/lib/cgi-bin/php-fcgi" aborted: read failed, referer: http://www.fqn.com.br/wordpress/wp-content/plugins/jetpack/css/jetpack.css 

真的有成千上万这样的错误的,每两秒钟一个错误,我不明白。

首先为什么是apache问一个css到fpm?

二是什么 “/ usr/lib目录/ cgi-bin目录/ PHP-fcgi的” 应该是?这个文件夹中没有文件!应该在那里?

PHP-FPM的日志tottaly没用,我启用loggind的DEBUG水平,我所得到的仅仅是:

DEBUG: pid 1664, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 1 active children, 2 spare children, 3 running children. Spawning rate 2 

喜欢这一点,并在随机时间间隔一些每秒一个状态消息:

WARNING: pid 1664, fpm_children_bury(), line 252: [pool www] child 38554 exited on signal 11 (SIGSEGV) after 58.797353 seconds from start 

但没有堆栈跟踪或详细的错误消息,以帮助我了解。我真的很喜欢apache + fpm的性能,并且不想回滚到mod_php,但是在当前配置中没有崩溃的情况下运行系统12h是不可能的。

波纹管链接显示服务器的php_info页 https://jpst.it/11FIP

是否有人有想法?

+0

这不是一个编程的问题。它应该在服务器故障 – FKEinternet

+0

这是一个很大的麻烦,你陷入。这正是我使用Cloudways的原因。 –

回答

0

这是一个编程错误....在PHP引擎 的某处,它似乎被一个程序调用,它将输入设置为非阻塞或在启动后过早停止。

(exec(), shell_exec(), proc_open() which fail) ...

看来PHP开发人员不是很渴望,说得客气一点,要解决这个问题。已经知道了多年存在(2012年是我所见过的最古老的票)

https://bugs.php.net/bug.php?id=73056