在將我們團(tuán)隊的rails應(yīng)用程序升級到4.2之后,如發(fā)行說明所述,默認(rèn)的ip rails server綁定到更改為localhost從0.0.0.0。我們使用Vagrant進(jìn)行開發(fā),并希望可以直接從主機(jī)上的瀏覽器訪問開發(fā)服務(wù)器。rails s -b 0.0.0.0我想知道是否還有其他更優(yōu)雅的解決方案,而不是從現(xiàn)在開始每次輸入,以便我們?nèi)匀豢梢韵駌ails s啟動服務(wù)器一樣簡單地使用sth 。也許:一個配置文件rails s讀取我可以在其中修改默認(rèn)綁定ip的地方(不使用-c)帶有無業(yè)游民的端口轉(zhuǎn)發(fā)(嘗試但失敗,請參見下面遇到的問題)一個要安裝的猴子補丁,它將更改默認(rèn)的綁定IP這樣做的真正目的是我希望我們的團(tuán)隊能夠順利進(jìn)行升級,避免由于缺少-b 0.0.0.0零件而導(dǎo)致人們不得不不斷重啟其Rails服務(wù)器的故障。我嘗試了無用的端口轉(zhuǎn)發(fā),但是Connection Refused當(dāng)我localhost:3000在主機(jī)上訪問時仍然可以。我嘗試的兩條配置行是:config.vm.network "forwarded_port", guest: 3000, host: 3000config.vm.network "forwarded_port", guest: 3000, guest_ip: '127.0.0.1', host: 3000在官方文檔中找不到任何相關(guān)說明。任何幫助將不勝感激。
3 回答

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗 獲得超7個贊
我在這里遇到同樣的問題,今天我發(fā)現(xiàn)了一個更好的解決方案。只要將此代碼附加到您的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貢獻(xiàn)1798條經(jīng)驗 獲得超3個贊
您可以使用領(lǐng)班通過Procfile自定義命令運行a :
# Procfile in Rails application root
web: bundle exec rails s -b 0.0.0.0
現(xiàn)在使用以下命令啟動Rails應(yīng)用程序:
foreman start
領(lǐng)班的好處是您可以將其他應(yīng)用程序添加到Procfile中(例如sidekiq,mailcatcher)。
工頭的壞事是你必須訓(xùn)練團(tuán)隊來foreman start代替rails s。
- 3 回答
- 0 關(guān)注
- 826 瀏覽
添加回答
舉報
0/150
提交
取消