【问题标题】:nginx: [emerg] "proxy_buffers" directive invalid value in /etc/nginx/sites-enabled/nginx:[emerg]“proxy_buffers”指令在 /etc/nginx/sites-enabled/ 中的值无效
【发布时间】:2021-06-26 06:56:00
【问题描述】:

我尝试用命令重启nginx,但出现错误。

当我运行“sudo systemctl restart nginx”时,会发生这种情况。

nginx.service 的作业失败,因为控制进程以错误代码退出。详见“systemctl status nginx.service”和“journalctl -xe”。

当我运行“systemctl status nginx.service”时,会发生这种情况。

3 月 30 日 08:55:04 ip-172-31-22-186 nginx[2624]: nginx: [emerg] "proxy_buffers" 指令在 /etc/nginx/sites- 中的值无效启用/...:19 Mar 30 08:55:04 ip-172-31-22-186 nginx[2624]: nginx: 配置文件 /etc/nginx/nginx.conf 测试失败

在 nginx.conf 文件中:

   location / {
            ....
            proxy_buffer_size 0M;
            proxy_buffers 4 0M;
            proxy_busy_buffers_size 0M;
            client_max_body_size 0M;
    }

这里的配置有问题吗?

【问题讨论】:

标签: nginx


【解决方案1】:

proxy_buffers 不能这样配置。根据它们的设计方式,您可以设置 0m 的缓冲区。这会将内存大小(页面大小)设置为 0M。

proxy_buffers

为单个连接设置用于从代理服务器读取响应的缓冲区的数量和大小。默认情况下,缓冲区大小等于一内存页。这是 4K 或 8K,具体取决于平台。

代理缓冲区大小等于内存页。要查找您当前的 memory_page 大小类型:

getconf PAGE_SIZE

这应该返回 4096(字节)-> 4K。

如您所见,根据您的系统架构,您只能使用 4K 或 8K 是有原因的。

我们有一篇很棒的关于代理的博文。

https://www.nginx.com/blog/performance-tuning-tips-tricks/

通过将 proxy_buffering 转换为 on,您可以使用文档中显示的指令配置 proxy_buffers:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering

【讨论】:

    猜你喜欢
    • 2013-10-10
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2017-11-10
    • 2017-07-24
    • 1970-01-01
    相关资源
    最近更新 更多