【问题标题】:How to RUN rails project on port 80 instead of 3000如何在端口 80 而不是 3000 上运行 rails 项目
【发布时间】:2016-01-25 16:18:38
【问题描述】:

我开发了我的第一个rails 项目并上传到我成功运行的服务器上。

现在,我的项目在 ip:3000 上运行,但我想在 IP 上运行它在 port 80 上。

那么它怎么可能在它上面运行。我有两个 web 服务器 NGINX and APACHE 所以我必须将它设置为 RUN。

任何人都有经验或想法。

谢谢

【问题讨论】:

    标签: ruby-on-rails apache nginx server port


    【解决方案1】:

    要在 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
    

    【讨论】:

      【解决方案2】:

      您可以使用-p 选项指定端口号。

      因此,要在端口 80 上运行您的应用,您需要执行以下操作:

      bundle exec rails s -p 80
      

      【讨论】:

      【解决方案3】:

      对于 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 等价物)

      【讨论】:

        猜你喜欢
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        • 2011-08-31
        • 2013-08-05
        • 1970-01-01
        相关资源
        最近更新 更多