Ruby on rails 如何在端口80而不是3000上运行rails项目
我已经将我的第一个Ruby on rails 如何在端口80而不是3000上运行rails项目,ruby-on-rails,apache,nginx,server,port,Ruby On Rails,Apache,Nginx,Server,Port,我已经将我的第一个rails项目上传到我成功运行的服务器上 现在,我的项目运行在ip:3000上,但我想在端口80上运行它 那怎么可能在上面运行呢。我有web服务器NGINX和APACHE,因此我必须将其设置为运行 任何人都有经验或想法 感谢要在端口80上运行它,您需要运行: rails server -p 80 如果要将默认值(3000)更改为80,则需要执行以下操作: config/boot.rb: require 'rails/commands/server' module Rails
rails
项目上传到我成功运行的服务器上
现在,我的项目运行在ip:3000
上,但我想在端口80
上运行它
那怎么可能在上面运行呢。我有web服务器NGINX和APACHE
,因此我必须将其设置为运行
任何人都有经验或想法
感谢要在端口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
要在端口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
您可以使用
-p
选项指定端口号
因此,要在端口80上运行应用程序,您需要执行以下操作:
bundle exec rails s -p 80
对于apache,您可以使用passenger来完成这项工作,这将默认为端口80(对于https站点为443) 您需要首先安装Apache“mod”:
[sudo]a2enmod passenger
然后,您需要创建一个新的vhost,因此在/etc/apache2/sites enabled中添加一个名为you domain name的文件,例如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>
服务器名www.mydomain.com
ServerAlias mydomain.com
DocumentRoot/var/www/mydomain.com/current/public
选项如下符号链接
不允许超限
命令允许,拒绝
通融
将源代码放入/var/www/mydomain.com/current/重新启动apache,然后离开
不确定为什么要使用apache和NginX,上面的配置仅适用于passenger(有一个NginX等效配置)对于apache,您可以使用passenger来实现这一点,这将默认为端口80(对于https站点为443) 您需要首先安装Apache“mod”:
[sudo]a2enmod passenger
然后,您需要创建一个新的vhost,因此在/etc/apache2/sites enabled中添加一个名为you domain name的文件,例如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>
服务器名www.mydomain.com
ServerAlias mydomain.com
DocumentRoot/var/www/mydomain.com/current/public
选项如下符号链接
不允许超限
命令允许,拒绝
通融
将源代码放入/var/www/mydomain.com/current/重新启动apache,然后离开
不确定为什么要使用apache和NginX,上面的配置仅适用于乘客(有一个NginX等效配置)没问题,但我想通过NginX或apache服务器进行设置。有什么想法吗?看这篇文章:没问题,但我想通过nginx或apache服务器进行设置。有什么想法吗?请看这篇文章: