2012-02-14 141 views
52

我正在Windows機器上設置RoR開發環境。我想知道如何設置它,以便我的幾個朋友可以訪問Web服務器並監視進度?允許公共連接到本地Ruby on Rails開發服務器

這隻會是2或3人連接在任何時候最多。

+1

不是編程相關的 - 更多的網站管理員或超級用戶或系統管理員 – KevinDTimm 2012-02-14 19:09:18

+5

這將是更好,可能更容易建立一個免費的[heroku](http://www.heroku.com)應用程序,當你準備展示一些東西時,做一個_git push heroku master_。允許人們查看你的開發者通常會適得其反。 – 2012-02-14 19:11:48

回答

20

localtunnel一個去。這是一個紅寶石的寶石,所以你不應該有任何問題得到它打算:

gem install localtunnel 
localtunnel 3000 

當你第一次這樣做,它會問你的SSH密鑰,但一旦你得到了設置,它會告訴你可以分享的公共網址。任何在指定端口上運行的東西都會暴露在該URL處。

Showoff-io看起來像一個類似的服務,但我沒有使用它,所以我不能評論。此外,它已付款並需要註冊。

+0

酷感謝,將工作。我也看到了heroku,這似乎也是一個堅實的解決方案。 – Dan 2012-02-14 22:01:18

+0

如果您重新啓動服務器,我遇到了與localtunnel有關的問題。 Showoff保持連接更好,但你的免費計劃限制在5分鐘 – 2012-06-08 18:24:25

+13

localtunnel似乎現在已經關閉,試試ngrok – 2013-11-29 20:30:55

23

你可以告訴你的開發服務器監聽你的公開訪問的接口:

如果您是通過rails server運行的服務器,你可以指定IP通過-b <ip>--binding=<ip>聽上。默認情況下,服務器在0.0.0.0上進行偵聽,即僅用於本地連接。

Usage: rails server [mongrel, thin, etc] [options] 
    -p, --port=port     Runs Rails on the specified port. 
            Default: 3000 
    -b, --binding=ip     Binds Rails to the specified ip. 
            Default: 0.0.0.0 

可以代替找出你的機器的網絡地址是什麼,並綁定到該地址,而不是,但你將不得不轉發端口,找出你的公開路由的IP地址是互聯網上的東西;這超出了堆棧溢出的界限。

+9

0.0.0.0實際上是機器上的所有連接,因此您不需要綁定到特定的IP地址。我通過我的手機始終連接到0.0.0.0的我的開發應用程序以檢查移動設備佈局。可能在防火牆上有一個洞是所需要的。 – Eric 2012-02-14 19:29:51

+0

謝謝,這對我有用。 – Maarten00 2013-06-10 21:02:19

+0

@Eric當你的本地Rails服務器運行在0.0.0.0上時,你能向我解釋一下你的手機上放了什麼地址?它會是https://0.0.0.0:3000還是您的服務器運行的計算機的ip,例如:192.168.0.100? – Aleks 2013-12-19 11:18:12

172

最簡單的方法,需要無需額外安裝:只是增加一個選項,以您的rails server(或rails s)命令,當你啓動服務器:

rails s --binding=0.0.0.0 

0.0.0.0地址的意思是「傾聽來自請求任何地方「。在許多系統上,默認值爲127.0.0.1,這意味着「僅偵聽來自本地主機的請求」。

(如果不同時指定-p--port選項,則該端口應3000,像往常一樣。)

+21

這是最好的答案 – 2015-05-07 18:29:34

+4

對我來說完美無缺 – Egor 2015-06-12 10:26:47

+1

生活的炒作。最佳答案 – 2015-07-10 19:26:38