【问题标题】:nginx: [emerg] invalid number of arguments in "passenger_root" directivenginx:[emerg]“passenger_root”指令中的参数数量无效
【发布时间】:2014-01-16 09:58:03
【问题描述】:

我第一次尝试在 EC2 上设置 Rubber (complete_passenger_nginx_postgresql)。我更改了配置文件中的一系列设置,以使其适用于不同的 AMI(Ubuntu 12.04.3 LTS - ami-a73264ce(64 位))、Ruby 2.1.0、Passenger 4.0.29 和 Nginx 1.4.4 . 我几乎让它工作了,但是在启动 Nginx 时它失败了,并出现以下错误:

nginx: [emerg] invalid number of arguments in "passenger_root" directive in /etc/nginx/nginx.conf:45

rubber-passenger_nginx.yml 的“passenger_root”代码如下:

passenger_lib: "#{passenger_root}/ext/nginx"

知道我应该改变什么才能让它工作吗?

【问题讨论】:

  • 请包含您的 /etc/nginx/nginx.conf: 第 45 行
  • 这里:/usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-4.0.29;,这里是第 44 到 46 行:passenger_root /usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/passenger-4.0.29 /usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-4.0.29; passenger_ruby /usr/local/rubies/2.1.0/bin/ruby;

标签: nginx amazon-ec2 passenger rubber ruby-2.1


【解决方案1】:

就我而言,我在根目录声明的末尾缺少 ;

错误:

root "/directory/with double quotes/will work"

解决方案:

root "/directory/with double quotes/will work";

【讨论】:

    【解决方案2】:

    您的 /etc/nginx/nginx.conf 文件中有错误。

    换行:

    passenger_root /usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static‌​/passenger-4.0.29
    /usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-4.0.29;
    passenger_ruby /usr/local/rubies/2.1.0/bin/ruby;
    

    进入:

    passenger_root /usr/local/rubies/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-4.0.29;
    passenger_ruby /usr/local/rubies/2.1.0/bin/ruby;
    

    【讨论】:

    • 谢谢。是的,确实你是对的,但问题有点复杂。事实上,在文件“rubber-passenger_nginx.yml”中,乘客根是用以下字符串推断出来的:passenger_root: "#{bash -l -c 'find #{ruby_path} -namepassenger-#{passenger_version}'.strip}" 所以我用硬编码路径替换它。这不是一个理想的解决方案,但确实有效。后来我还有其他问题需要解决,但我还没有完成。由于要写的内容很多,我将发布一个博客链接,在其中分享我的痛苦和解决方案,希望:) 谢谢。
    • @BenKass 我知道这是事后诸葛亮,但我能够通过在乘客根目录的计算中添加一个简单的 grep 来解决这个问题,以便它只返回 gem 路径而不是包装的扩展路径。乘客根:“#{bash -l -c 'find #{ruby_path} -name passenger-#{passenger_version} | grep \\'gems/passenger\\''.strip}”
    猜你喜欢
    • 1970-01-01
    • 2017-02-19
    • 2019-01-06
    • 2021-06-17
    • 1970-01-01
    • 2021-06-26
    • 2017-01-21
    • 2016-01-05
    • 2020-04-09
    相关资源
    最近更新 更多