我在运行Lion Server的Mac Mini上安装了带有Passenger的Nginx 1.2.0。我使用了以下链接中的说明。
https://github.com/coverall/nginx
我将事先声明我是Nginx&的新手。乘客。我正在开发一个我希望在服务器上托管的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安装中的虚拟主机?
任何帮助都将不胜感激。
答案 0 :(得分:1)
看来您的Nginx未使用upload_pass模块进行编译,因此它无法理解该指令。我不确定如何使用自制程序执行此操作,但您可以将其编译为:
./configure --add-module=/path/to/upload_pass/source