我有一个运行简单 wordpress 博客的 apache2 + php7 服务器。
该博客一直使用 apache + mod_php + php7 运行,但最近在某些访问高峰期间,系统崩溃了,变得缓慢甚至崩溃。
所以我用谷歌搜索了如何优化配置,许多教程说 mod_php 很慢,我应该用 php-fpm 替换它。
我做到了,更改后网站明显更快,但现在它随机崩溃并开始出现 http 500 错误......
新的崩溃没有明显的原因,没有用户高峰或我能注意到的任何其他情况。
apache错误日志有很多:
[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 向 fpm 询问 css?
其次“/usr/lib/cgi-bin/php-fcgi”应该是什么?这个文件夹里没有文件!!应该有什么?
php-fpm 的日志完全没用,我启用了 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 而不崩溃。
下面的链接显示了服务器 https://jpst.it/11FIP的 php_info 页面
有人有想法吗?