我是nginx和乘客的新手,想要用它来运行rails应用程序。
我在我的mac(passenger-install-nginx-module
)上安装了nginx和passenger。
我可以启动nginx服务器并查看默认的nginx欢迎屏幕。
我想在我的nginx服务器上运行rails应用程序。
我已将以下内容添加到 nginx.conf :
server {
listen 8080;
server_name localhost;
root /myrailsApp/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
当我启动我的nginx服务器并导航到localhost:8080时,我看到了消息:
“未收到任何数据”(错误代码:ERR_EMPTY_RESPONSE)
我猜这是一个我忽略的愚蠢错误?有人可以指出我正确的方向吗?
更多可能有用的信息。
ruby返回:
/Users/user/.rvm/rubies/ruby-1.9.3-p429/bin/ruby
我安装使用:
宝石安装乘客
passenger-config --root返回:
/Users/user/.rvm/gems/ruby-1.9.3-p429@rails3tutorial2ndEd/gems/passenger-4.0.20
这(@rails3tutorial2ndEd/gems/passenger-4.0.20
)有点奇怪吗?
然后我运行了乘客nginx安装程序:
乘客安装-nginx的模块
正如我所说,我可以毫无问题地启动nginx。我将新的服务器块添加到指向我的rails公共文件夹的nginx.conf文件中,但页面返回
“没有收到数据”
答案 0 :(得分:0)
看起来有点意外错误,下面的配置对我有用。一旦试一试。
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /var/lib/gems/1.9.1/gems/passenger-4.0.5;
passenger_ruby /usr/bin/ruby1.9.1;
passenger_max_pool_size 10;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
access_log /var/www/access.log;
error_log /var/www/error.log;
location / {
root /var/www/demo/public;
passenger_enabled on;
rails_env production;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}