2

我用 gem 在 rvm 上安装乘客

gem install passenger

然后用它安装nginx

rvmsudo passenger-install-nginx-module

并编辑 /opt/nginx/nginx.conf 文件,将这两行添加到服务器问题:

passenger_enabled on; 
root /home/snir/my_app/public;

但运行乘客(停止 nginx 系统服务后)给我这个输出:

Environment: development
Accessible via: http://0.0.0.0:3000/

You can stop Phusion Passenger Standalone by pressing Ctrl-C.
===============================================================================
2013/04/16 17:47:08 [error] 4730#0: *4 "/home/snir/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"

并浏览到 0.0.0.0:3000 给我一个 404 not found nginx 页面。怎么了?为什么乘客会在 /home/snir/public 中查找应用程序,而不是我在 nginx.conf 文件中提供的 /home/snir/my_app/public 路径?

编辑:

所以看起来 nginx 没有连接到乘客,因为它没有出现在 nginx 的 --add-module 中。但我正确安装了它,所以可能是ubuntu附带的其他一些nginx安装与乘客安装冲突。

4

3 回答 3

0

也许您的 nginx.conf 不正确(在我的情况下,位置是 /opt/nginx/conf/nginx.conf)

我找到了一个适合我的解决方案->为 Rails 配置 nginx.conf 显示文件目录不是索引

于 2013-10-29T22:18:34.837 回答
0

我最近在 DigitalOcean.com 上设置服务器以部署到我的 VPS,并发现他们的支持文章非常有帮助。这是一个可能对您的具体情况有所帮助的方法。https://www.digitalocean.com/community/articles/how-to-install-rails-and-nginx-with-passenger-on-ubuntu

于 2013-04-20T12:30:51.167 回答
0

我对您的系统了解不多,但问题可能是您使用了错误的配置文件。大多数基于 unix 的系统 nginx 配置文件位于 /etc/nginx/nginx.conf 和 /etc/nginx/sites-enabled/some-site 中,它是 /etc/nginx/sites-available/some-site 的软链接。如果您有疑问,可以尝试在您认为是系统正在使用的配置文件的文件中放置一个明显的错误,然后重新启动 nginx 以查看它是否抱怨错误或继续没有问题。

于 2013-04-16T16:12:27.183 回答