为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改Rails 4.2开发服务器的默认绑定IP?

如何更改Rails 4.2开发服务器的默认绑定IP?

SMILET 2019-12-26 09:08:05
在将我们团队的rails应用程序升级到4.2之后,如发行说明所述,默认的ip rails server绑定到更改为localhost从0.0.0.0。我们使用Vagrant进行开发,并希望可以直接从主机上的浏览器访问开发服务器。rails s -b 0.0.0.0我想知道是否还有其他更优雅的解决方案,而不是从现在开始每次输入,以便我们仍然可以像rails s启动服务器一样简单地使用sth 。也许:一个配置文件rails s读取我可以在其中修改默认绑定ip的地方(不使用-c)带有无业游民的端口转发(尝试但失败,请参见下面遇到的问题)一个要安装的猴子补丁,它将更改默认的绑定IP这样做的真正目的是我希望我们的团队能够顺利进行升级,避免由于缺少-b 0.0.0.0零件而导致人们不得不不断重启其Rails服务器的故障。我尝试了无用的端口转发,但是Connection Refused当我localhost:3000在主机上访问时仍然可以。我尝试的两条配置行是:config.vm.network "forwarded_port", guest: 3000, host: 3000config.vm.network "forwarded_port", guest: 3000, guest_ip: '127.0.0.1', host: 3000在官方文档中找不到任何相关说明。任何帮助将不胜感激。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

我在这里遇到同样的问题,今天我发现了一个更好的解决方案。只要将此代码附加到您的config / boot.rb中,它就可以与流浪汉一起使用。


require 'rails/commands/server'

module Rails

  class Server

    def default_options

      super.merge(Host:  '0.0.0.0', Port: 3000)

    end

  end

end


查看完整回答
反对 回复 2019-12-26
?
呼如林

TA贡献1798条经验 获得超3个赞

您可以使用领班通过Procfile自定义命令运行a :


# Procfile in Rails application root

web:     bundle exec rails s -b 0.0.0.0

现在使用以下命令启动Rails应用程序:


foreman start

领班的好处是您可以将其他应用程序添加到Procfile中(例如sidekiq,mailcatcher)。


工头的坏事是你必须训练团队来foreman start代替rails s。


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 740 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信