【发布时间】:2013-06-19 03:05:18
【问题描述】:
我正在尝试让我的 rails 服务器监听 2 个不同的端口。向我提出的一种解决方案是使用 nginx。我用sudo passenger-install-nginx-module 安装了nginx,并将以下内容添加到/etc/nginx/conf.d:
server {
listen 80;
listen 10000;
server_name www.myapp.com
passenger_enabled on;
root /root/myapp/public;}
当我访问 www.myapp.com 时,我收到了 403 Forbidden 错误。我认为这是因为 /public 中没有静态 html 文件。我在其中放置了一个简单的“hello world”html 页面并正确加载。然后我继续使用passenger start -e production 启动我的rails 应用程序,这导致它在端口3000 上以独立的phusion 乘客模式运行。我转到myapp.com:3000 并获得了该应用程序。但是, myapp:80 和 myapp:10000 仍然不起作用。我对如何让我的 nginx 指向我正在运行的 rails 服务器感到困惑。我这样做完全错了吗?谢谢!
【问题讨论】:
-
Nginx 以乘客启动并且是 rails 服务器。乘客作为一个模块编译到 nginx 中,实际上即使在独立模式下它仍然通过 nginx 运行。
标签: ruby-on-rails nginx passenger