如何为passenger_response_buffer_high_watermark 设置Phusion 乘客选项?

Posted

技术标签:

【中文标题】如何为passenger_response_buffer_high_watermark 设置Phusion 乘客选项?【英文标题】:How do I set the Phusion Passenger option for passenger_response_buffer_high_watermark? 【发布时间】:2022-01-19 00:22:19 【问题描述】:

我安装了带有 phusion 乘客 v 6.0.12 的 nginx,托管了一个 rails 6 应用程序。

有一个设置 (passenger_response_buffer_high_watermark) 实质上允许您通过分配一个非常低的值来关闭 phusion 乘客提供的默认缓冲。但是,当尝试在我的服务器块中设置它时,我收到以下错误:

nginx: [emerg] "passenger_response_buffer_high_watermark" directive is not allowed here in /etc/nginx/sites-enabled/windows-logic:22
nginx: configuration file /etc/nginx/nginx.conf test failed

关于如何在我的 nginx 服务器甚至特定位置块中设置此选项以允许配置此选项的任何想法?

server 
    listen 443 ssl;
    server_name app.example.com;

    ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    root /var/www/app-example-com/public;

    passenger_response_buffer_high_watermark 64;
    passenger_enabled on;
    passenger_ruby /home/ubuntu/.asdf/installs/ruby/2.7.1/bin/ruby;
    passenger_app_env staging;

【问题讨论】:

【参考方案1】:

如果我将该指令放入 server 块中,我会重现,但如果我放入 nginx.confhttp 块中,我不会重现:

http 
  ...  
  passenger_min_instances 5;
  passenger_max_pool_size 10;  
  passenger_response_buffer_high_watermark 64;
  ...

这很奇怪,因为在 docs 中,在 Context 中说:http, server, location, if,据我了解,它也应该在 server 中工作。

【讨论】:

以上是关于如何为passenger_response_buffer_high_watermark 设置Phusion 乘客选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何为下拉菜单制作 CSS 边框?

如何为 CAShapeLayer 路径和填充颜色设置动画

iPhone - 如何为图像着色?

如何为 RecyclerView 设置 onItemClickListener? [复制]

WCF - 如何为 NTLM 身份验证配置 netTcpBinding?

如何为 UIToolbar 上的按钮添加滚动?