0

我是 nginx 和乘客的新手,想用它来运行 rails 应用程序。

我已经在我的 mac ( passenger-install-nginx-module) 上安装了 nginx 和乘客。

我可以启动 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)

我猜这是我忽略的一个愚蠢的错误?有人可以指出我正确的方向吗?


更多信息可能会有所帮助。

哪个红宝石返回:

/Users/user/.rvm/rubies/ruby-1.9.3-p429/bin/ruby

我安装使用:

宝石安装乘客

乘客配置 --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 文件中,但页面返回

“没有收到任何数据”

4

1 回答 1

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;
    }
}
于 2013-10-11T10:18:52.037 回答