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 ...