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服务器进行设置。有什么想法吗?请看这篇文章: