全新生成的Rails 4.2.0項目。冉rails s
,表現爲使用的WEBrick預期:爲什麼彪馬只綁定到tcp6? (通過`rails s`)
[email protected]:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 27158/ruby2.1
tcp6 0 0 ::1:3000 :::* LISTEN 27158/ruby2.1
新增彪馬的Gemfile,跑了捆綁,然後再rails s
;想出彪馬,但只綁定tcp6接口,而不是tcp:
[email protected]:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 ::1:3000 :::* LISTEN 27116/ruby2.1
任何線索爲什麼?我一直在用google搜索,沒有運氣。
UPDATE:
運行puma -b tcp://0.0.0.0:3000
作品。然而,添加綁定指令來配置/ puma.rb和運行rails s
沒有:但是
bind 'tcp://0.0.0.0:3000'
的在我的配置文件線程/工人指令正在努力,所以我知道該配置文件被加載得到和用過的。 (甚至添加了一個puts語句,以確保。)
如果我只是運行puma
,綁定到正確的接口,配置文件甚至被拿起。我可能不得不求助於運行puma
而不是rails s
,儘管它很煩人並且必須添加到我的開發人員文檔中。
UPDATE2:
我錯了。運行rails s
不會自動獲取config/puma.rb。仍在調查......
這對我來說不再是問題,因爲我決定使用'puma'來運行rails應用程序而不是'rails s',這使得一切正常 - 儘管我仍然認爲應該修復這個問題。我必須切換到'puma'的原因是配置文件被拾取:http://stackoverflow.com/questions/25225444/how-to-run-rails-puma-server-with-config-file-using -rails-s-puma – odigity
另一種解決方案是,如果在apache/nginx反向代理之後使用它,則只是使用IPv6地址。 – luismreis