我已经从源代码编译了 PHP 5.3.3 和 nginx 0.8.47 来运行 Wordpress 博客。Wordpress 生成的 RSS 源在大约 16k 处被截断(包括标题为 16k+90b)。通过将以下内容添加到我的 nginx 配置中:
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
问题就解决了。然而,从我读到的Nginx 维基页面缓冲区仅确定缓冲何时会溢出到磁盘。没有任何迹象表明响应会因缓冲区太小而被截断。
所以我的问题是,为什么在更改此设置之前响应被截断了?看来请求不应该被截断,只是由于磁盘缓冲而速度稍慢一些。
附加信息:
- Ubuntu 10.04.2 32位
- 页面大小 4k
答案1
下列的Ochoto 的评论关于检查写入权限我成功地让它工作了。我以不同于默认用户的身份运行 Nginx,因此必须在默认临时路径上更改权限。对于 RHEL 安装,/var/lib/nginx/tmp/fastcgi
它具有默认权限 700:
chown -R webuser /var/lib/nginx/tmp
我在 Scientific Linux 7 上遇到了这个问题,使用的是来自 SL 存储库的包。对于我来说,在 Scientific Linux 6 上使用 Nginx 提供的包时,这一步不是必需的,因为它在/var/cache/nginx
答案2
首先尝试查看 error_log(在信息级别,如果在信息级别没有打印任何相关内容,则尝试读取调试日志)。
答案3
将此文本复制到 nginx 的 conf 文件中
http {
.....
fastcgi_buffers 256 4k;
.....
}
重启nginx后