1

我有一个 rails 应用程序...我安装了 chain: nginx+passenger 并运行 rails server。但我的问题是,在浏览器中我必须设置 url,如:

page.com:3000

但是如何只使用page.com?

我无法运行passenger start -e=development -p=80用户限制命令....

我的 nginx 配置文件是这样的:

server {
        listen      80;
        server_name  localhost;

        #charset koi8-r;
        #root /home/prog/OnlineAuto/Shop/public;
        #passenger_enabled on;
        #access_log  logs/host.access.log  main;
        location / {
                root /home/prog/OnlineAuto/Shop/public;
                index  index.html index.htm;
                passenger_enabled on;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

那么如何在没有任何端口的情况下按域获取我的 rails 应用程序?(但在 3000 端口上运行 rails 服务器)

4

2 回答 2

1

您正在尝试在 Nginx 使用的同一端口上启动乘客,这可能是您收到错误的原因。

我对 Unicorn 更熟悉,但根据我读过的文档,您不必在单独的进程中启动Passenger。正确安装乘客后,我认为您只需要 Nginx 指令即可使其工作。

在http块中配置你的passenger_root和passenger_ruby nginx.conf,然后

http {
  passenger_root /<path_to_passenger_install>;
  passenger_ruby /usr/local/bin/ruby;

  server {
    listen 80;
    server_name page.com;
    charset utf-8;
    root /www/page.com/public;
    passenger_enabled on;
    rails_spawn_method smart;
    rails_env development;
  }
}
于 2013-02-18T15:22:16.147 回答
0

如果你在这里使用乘客,我必须使用它来让它在 www.mysite.com 上运行,而无需在 centos 服务器上使用 www.mysite.com:80:

在 etc/httpd/conf 中,关键是取消注释 NameVirtualHost *:80 并将 * 更改为我的服务器的 IP 地址。确保未注释 Listen 80。还将您的 ip 添加到 VirtualHost 标签。它必须在端口 80 上运行,而不是 8080 或您选择的端口。

NameVirtualHost xx.xx.xx.xx:80  

Listen 80  

<VirtualHost xx.xx.xx.xx:80>
    ServerName www.mysite.com
    # !!! Be sure to point DocumentRoot to 'public'!
    DocumentRoot /var/www/vhosts/mysite.com/httpdocs/public/
    <Directory /var/www/vhosts/mysite.com/httpdocs/public/>
       # This relaxes Apache security settings.
       AllowOverride all
       # MultiViews must be turned off.
       Options -MultiViews
    </Directory>
</VirtualHost>
于 2013-09-10T17:46:35.243 回答