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

在将我们团队的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: 3000

config.vm.network "forwarded_port", guest: 3000, guest_ip: '127.0.0.1', host: 3000

在官方文档中找不到任何相关说明。任何帮助将不胜感激。


SMILET
浏览 743回答 3
3回答

噜噜哒

我在这里遇到同样的问题,今天我发现了一个更好的解决方案。只要将此代码附加到您的config / boot.rb中,它就可以与流浪汉一起使用。require 'rails/commands/server'module Rails  class Server    def default_options      super.merge(Host:  '0.0.0.0', Port: 3000)    end  endend

呼如林

您可以使用领班通过Procfile自定义命令运行a :# Procfile in Rails application rootweb:     bundle exec rails s -b 0.0.0.0现在使用以下命令启动Rails应用程序:foreman start领班的好处是您可以将其他应用程序添加到Procfile中(例如sidekiq,mailcatcher)。工头的坏事是你必须训练团队来foreman start代替rails s。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby