在將我們團隊的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 關注
- 818 瀏覽
添加回答
舉報
0/150
提交
取消