1

我有一个小型 Rails 应用程序,目前由端口 3000 上的瘦服务器提供服务(开发和生产),在 Debian 盒子上也运行 apache2,服务 PHP 应用程序。

我不确定在当前设置下这是否可能,但有没有办法从 rails 应用程序 url 中删除端口号,但仍然从同一个端口进行 Thin 侦听,以免碰到 apache?

当前的

https://my-rails-site:3000/

建议的

https://my-rails-site/

还是我应该只使用像乘客这样的东西?

或者

mod_proxy?

4

2 回答 2

1

您想从 URL 中删除端口号让您的应用同时侦听非标准端口吗?然后,您必须让 Apache/Nginx 必须侦听标准端口并将请求代理到您的应用程序的非标准端口。您需要使用 mod_proxy 设置 Apache 或使用 proxy_module 设置 Nginx。

如果您只想通过标准端口访问您的应用程序,那么您可以使用Phusion Passenger,这让事情变得非常简单。

于 2013-05-06T06:56:39.550 回答
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:42:59.290 回答