【问题标题】:Nginx Phusion Passenger: "passenger_log_file" directive is not allowedNginx Phusion 乘客:不允许使用“passenger_log_file”指令
【发布时间】:2018-01-25 13:06:44
【问题描述】:

我目前正在运行: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,一切都会很好。我在这里错过了什么?

【问题讨论】:

  • 确保日志目录已经正确设置了nginx的权限。
  • @julian-salas 日志目录归正确的用户所有。甚至尝试将目录更改为 777 并将日志文件更改为 666,仍然得到相同的错误。

标签: node.js nginx passenger


【解决方案1】:

我有同样的问题。我认为您的情况的正确选项是 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;

    }

【讨论】:

    【解决方案2】:

    根据documentation

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

    passenger_default_userpassenger_default_group 都允许在 server 上下文中使用,因此会造成混淆。

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多