Nginx Phusion Passenger:不允许使用 "passenger_log_file" 指令

Nginx Phusion Passenger: "passenger_log_file" directive is not allowed

我目前 运行:nginx/1.12.2 使用 Phusion Passenger 5.1.12.

每当我尝试使用 "passenger_log_file"、"passenger_default_user" 或 "passenger_default_group" 时,我都会收到以下错误。

nginx: [emerg] "passenger_log_file" 指令在 /etc/nginx/sites-enabled/test:11

中是不允许的

我的站点启用文件如下所示:

server {
    listen 80;
    server_name example.com;

    root /home/test/api;

    passenger_app_root /home/test/api/dist;
    passenger_enabled on;
    passenger_app_type node;
    passenger_startup_file app.js;
    passenger_log_file /var/log/test/access.log;
}

如果我删除 passenger_log_file 一切正常。我在这里错过了什么?

根据 documentation

passenger_log_file 仅在 http 上下文级别可用。在您提供的示例中,它位于 server 上下文中。

passenger_default_userpassenger_default_group 都允许出现在 server 上下文中,所以这很混乱。

我遇到了同样的问题。我认为适合您的情况的正确选项是 passenger_app_log_file,它允许为每个应用程序定义一个日志文件。不幸的是,这是 Enterprise 级别的选项。另一方面,如果您将 passenger_log_file 提升一个级别,它应该会更改所有乘客应用程序日志文件的默认值。

    passenger_log_file /var/www/vhosts/system/xxx.pasi-consulting.com/logs/proxy_error_log;

    server {
    listen 137.74.195.27:443 ssl http2;

    server_name www.pasi-consulting.com;
    server_name www.xxx.pasi-consulting.com;

    }