在将我们团队的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
呼如林
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。
- 3 回答
- 0 关注
- 790 浏览
添加回答
举报
0/150
提交
取消