2017-04-23 124 views
0

我使用導軌5與默認PUMA服務器工作,並聽取本地主機:3000更改我的默認本地主機端口Rails中5

我想它來聽一個新的端口像192.168.0.0:3000

任何人都可以幫忙嗎?謝謝

+0

[如何更改Rails 4應用程序的默認端口?](http://stackoverflow.com/questions/18103316/how-to-change-default-port-of-a-rails-4-應用程序) – Iceman

+0

爲什麼它不是Rails 5中的有效解決方案? –

+0

但端口是一樣的...... –

回答

0

可以使用-b選項像

rails s -p 3000 -b 0.0.0.0其中-p表示端口選項,0.0.0.0會結合你,如果它是192.168.0.0本地主機IP綁定的服務器,您可以打開您的應用在您的網絡中連接設備。 如果你正在尋找改變你的本地IP地址..這不是一個軌道問題。

2

Rails 5自帶puma,配置爲config/puma.rb。您可以更改該文件中的默認端口號,或通過在啓動導軌之前設置PORT環境變量來覆蓋該端口號。

@Iceman:在Rails 5中,不需要修補Rails來覆蓋默認端口,所以您提到的答案不再相關。

編輯:在重新閱讀原始問題時,我注意到您不想更改端口,而是更改綁定地址。你可以通過編輯config/puma.rb並用bind語句替換port聲明:

# Specifies the `port` that Puma will listen on to receive requests; default is 3000. 
# 
#port  ENV.fetch("PORT") { 3000 } 
bind  'tcp://192.168.0.1:3000' 

@JohnLinux:Rails是沒有意識到彪馬使用不同的綁定地址,所以它會告訴你什麼是傳遞這一事實直到Puma(Puma忽略)。在Rails和Puma的github問題跟蹤器中有幾個問題涉及到這個問題,AFAICT兩端都發生了變化,將綁定地址的控制權交還給Rails,但我還沒有玩弄更新的寶石來了解如何遠遠得到。註釋port聲明非常重要,否則彪馬實際上綁定到兩者!

+0

將它的地址綁定到它上面這很有用,但爲什麼它仍然說'Rails 5.0.3應用程序從http:// localhost:3000開始開發「當它啓動時,即使它正在3003聽。 – Steve

+0

有趣的是,你應該提到這一點。我從未注意到這一點。事實證明,它可以監聽3000和3003,當你在同一臺計算機上運行單獨的實例時,不必說失敗。似乎沒有簡單的切換來禁用該行爲。在github上有一些針對puma的os問題,解決了這種情況的一部分,但沒有一個是發佈AFAICT。 – BertD

+0

似乎像這個問題已被最新版本的Rails修復。 – mutantkeyboard