【发布时间】:2016-01-25 16:18:38
【问题描述】:
我开发了我的第一个rails 项目并上传到我成功运行的服务器上。
现在,我的项目在 ip:3000 上运行,但我想在 IP 上运行它在 port 80 上。
那么它怎么可能在它上面运行。我有两个 web 服务器 NGINX and APACHE 所以我必须将它设置为 RUN。
任何人都有经验或想法。
谢谢
【问题讨论】:
标签: ruby-on-rails apache nginx server port
我开发了我的第一个rails 项目并上传到我成功运行的服务器上。
现在,我的项目在 ip:3000 上运行,但我想在 IP 上运行它在 port 80 上。
那么它怎么可能在它上面运行。我有两个 web 服务器 NGINX and APACHE 所以我必须将它设置为 RUN。
任何人都有经验或想法。
谢谢
【问题讨论】:
标签: ruby-on-rails apache nginx server port
要在 80 端口上运行它,你需要运行:
rails server -p 80
如果您想将默认值 (3000) 更改为 80,那么您需要执行以下操作: config/boot.rb:
require 'rails/commands/server'
module Rails
class Server
def default_options
super.merge({Port: 10524})
end
end
end
【讨论】:
您可以使用-p 选项指定端口号。
因此,要在端口 80 上运行您的应用,您需要执行以下操作:
bundle exec rails s -p 80
【讨论】:
对于 apache,您可以根据需要使用乘客来完成这项工作,默认端口为 80(或 https 站点为 443)。
您需要先安装 Apache 'mod':[sudo] a2enmod passenger
然后你需要创建一个新的虚拟主机,所以在 /etc/apache2/sites-enabled 添加一个名为你的域名的文件,例如mydomain.com 在此文件中,您将需要以下内容:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/current/public
<Directory /var/www/mydomain.com/current/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
将你的源代码放入 /var/www/mydomain.com/current/ restart apache 就可以了。
不知道你为什么会有 apache 和 NginX,上面的配置只适用于乘客(有一个 nginx 等价物)
【讨论】: