Warum bindet Puma nur an tcp6? (über `Schienen s`)

Nagelneu generiertes Rails 4.2.0-Projekt. Ranrails s, hat sich mit WEBrick wie erwartet verhalten:

vagrant@web1:~$ 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   

Puma zu Gemfile hinzugefügt, Bundle ausgeführt, dannrails s nochmal; kam mit Puma, aber nur gebundene TCP6-Schnittstelle, nicht TCP:

vagrant@web1:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 ::1:3000                :::*                    LISTEN      27116/ruby2.1   

Irgendeine Ahnung warum? Ich habe ohne Glück gegoogelt.

AKTUALISIEREN

Laufenpuma -b tcp://0.0.0.0:3000 funktioniert. Fügen Sie jedoch die bind-Direktive zu config / puma.rb hinzu und führen Sie @ aurails s nicht:

bind 'tcp://0.0.0.0:3000'

Die threads / workers-Direktiven in meiner Konfigurationsdatei funktionieren jedoch, sodass ich weiß, dass die Konfigurationsdatei geladen und verwendet wird. (Sogar eine Puts-Anweisung hinzugefügt, um sicherzugehen.)

Die Konfigurationsdatei wird sogar abgeholt, wenn ich nur laufepuma, Bindung an die richtige Schnittstelle. Möglicherweise muss ich nur auf running @ zurückgreifepuma Anstatt vonrails s, obwohl es ärgerlich ist und zu meinen Entwicklerdokumenten hinzugefügt werden muss.

UPDATE2:

Ich lag falsch. Laufenrails s nimmt config / puma.rb nicht automatisch auf. Wird noch untersucht ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage