简单介绍一下背景,我有一个允许用户上传图片的网站。WordPress 用作内容管理系统,帖子会立即发布,图片会作为帖子的特色图片插入。从那时起,图片将以画廊样式的格式显示。近一年来,我将网站放在 GoDaddy 共享服务器上,上传图片没有问题。随着网站的发展,我将网站转移到了 Amazon 实例上。实例上有相应的 MySQL 数据库,虽然我知道这不受欢迎,因为它应该设置为单独的实例,但目前可以降低成本。Web/数据库服务器位于 c3.xlarge 实例上。不幸的是,现在大约有 50% 的时间,当用户上传图片时,他们会收到错误 [内部服务器错误],并创建一个空白帖子,随后将其包含在画廊中。显然,这是有问题的,因为画廊里充满了空白图片,这会降低用户体验。当我查看 WordPress 的后端时,空白帖子图片没有特色图片,帖子被归类为未分类。此时,我相信问题源于服务器设置和与 MySQL 数据库的通信,但我却一无所获。我仔细检查了空白帖子发布时的错误日志,只发现以下内容……
[Sat Jun 14 19:23:51 2014] [error] [client xxx] (104)Connection reset by peer: FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed, referer: http://example.com/upload/
[Sat Jun 14 19:23:51 2014] [error] [client xxx] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi", referer: http://example.com/upload/
[Sat Jun 14 19:27:51 2014] [error] [client xxx] (104)Connection reset by peer: FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed, referer: http://example.com/upload/
[Sat Jun 14 19:27:51 2014] [error] [client xxx] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi", referer: http://example.com/upload/
在研究这个问题时,我发现很多人建议增加 php 内存限制来解决这个问题。最近我将 memory_limit 从 128M 增加到 256M 甚至 512M,但不幸的是这没有任何明显的影响。有什么想法吗?