0

我在运行 Lion Server 的 Mac Mini 上安装了 Nginx 1.2.0 和Passenger。我使用了下面链接中的说明。

https://github.com/coverall/nginx

我会预先声明我是 Nginx 和Passenger 的新手。我正在开发一个我想在服务器上托管的 Ruby on Rails 项目。当我尝试启动 Nginx 时,出现以下错误:

[emerg] unknown directive "upload_pass" in /usr/local/etc/nginx/virtualhosts/adam.localhost.coverallcrew.com.conf:20

以下是相关文件的第 19 行和第 20 行。这是我假设 Nginx 安装中包含的文件。我使用的唯一配置文件是 nginx.conf,我在其中添加了希望托管我的 Rails 应用程序的行。

# pass request body to here
upload_pass @fast_upload_endpoint;

这是我第二次尝试对如何纠正这个错误进行广泛的网络搜索。我曾希望找到是否需要在 nginx.conf 中添加一些内容或在某处定义 upload_pass 的内容,但只找到了确实缺少该指令的解决方案。

我看了一下 nginx.conf。有很多语句被注释掉了。以下是那些不是:

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    gzip  on;
    server_name_in_redirect off;
    port_in_redirect off;

    client_max_body_size 8m;
    client_body_buffer_size 128k;

    include upstreams/*.conf;
    include virtualhosts/*.conf;
    include third-party/*.conf;

    server {
        listen 8080;
        server_name www.lightbesandbox2.com;
        root /Sites/iktusnetlive_ror/public;
        passenger_enabled on;
    }
}

另一个问题:我是否需要 Nginx 安装中包含的这些虚拟主机?

任何帮助,将不胜感激。

4

1 回答 1

2

看来您的 Nginx 没有使用upload_pass模块编译,因此它不理解该指令。我不确定如何使用自制软件执行此操作,但您可以将其编译为:

./configure --add-module=/path/to/upload_pass/source

于 2012-06-14T20:42:32.460 回答