gpt4 book ai didi

php - Nginx 502 网关错误。通过增加buffer来解决。为什么?

转载 作者:行者123 更新时间:2023-12-02 22:36:47 25 4
gpt4 key购买 nike

我正在设置 LEMP 堆栈来运行 Drupal。我安装了 Nginx 和 PHP-FastCGI。

Nginx 工作正常,但任何运行 PHP 的尝试都会出现错误“502 Bad Gateway”。

Google 快速显示:nginx 502 bad gateway ,增加缓冲区大小解决了这个问题。

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;

问题是为什么?

我的理解

从前面的链接来看,nginx 似乎正在向 PHP-FastCGI 发送请求,但它没有响应。这些请求是怎么导致超时的?

是否没有足够的时间响应,因为 php 很复杂(事实并非如此,它是 phpinfo();)。现在我已经增加了缓冲区,我什么时候应该担心必须再次增加缓冲区?

最佳答案

如果您检查 nginx 错误日志,很可能您会看到以下消息:
从上游读取响应 header 时上游发送了太大的 header

fastcgi_buffers设置用于FastCGI上游响应的缓冲区段的数量和内存大小。

文档中提供的默认值:
fastcgi_buffers 8 4k|8k;
其中默认缓冲区大小等于操作系统的 PAGESIZE。
getconf PAGESIZE 允许获取当前内存页面大小。

例如,在 Ubuntu 14.01 中,默认 PAGESIZE 为 4KB。这意味着您有 8 个段,每个段 4KB。总计 32KB。FastCGI 的响应超过这个数字,这就是为什么我们得到响应代码 502 - 服务器已收到

这不是很好的解释,但我希望它可以帮助您更好地理解。

关于php - Nginx 502 网关错误。通过增加buffer来解决。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com