Brandneues Rails 4.2.0 Projekt. Ran rails s
, verhielten sich wie mit WEBrick erwartet:Warum bindet Puma nur an tcp6? (via `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
Added puma zu Gemfile, lief Bündel, dann rails s
wieder; kam mit Puma, aber nur tcp6 Schnittstelle gebunden, nicht 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
Irgendwelche Ahnung warum? Ich habe ohne Glück gegoogelt.
UPDATE:
Lauf puma -b tcp://0.0.0.0:3000
funktioniert. Allerdings Hinzufügen der bind Richtlinie config/puma.rb und rails s
läuft nicht:
bind 'tcp://0.0.0.0:3000'
Die Fäden/Arbeiter-Richtlinien in meiner Config-Datei arbeiten, jedoch, so dass ich weiß, dass die Konfigurationsdatei wird immer geladen und benutzt. (Hinzugefügt Auch eine puts Aussage sicher sein.)
Die Konfigurationsdatei wird auch aufgenommen, wenn ich nur puma
laufen, auf die richtige Schnittstelle zu binden. Ich kann nur zu laufen puma
statt rails s
zurückgreifen muß, auch wenn es ärgerlich ist und hat meinen Entwickler docs hinzugefügt werden.
UPDATE2:
ich mich geirrt. Wenn Sie rails s
ausführen, wird config/puma.rb nicht automatisch übernommen. Noch zu untersuchen ...
Das ist für mich kein Problem mehr, weil ich beschlossen habe, 'puma' zu verwenden, um die Rails-App anstelle von' rails s' auszuführen, was alles funktioniert - obwohl ich denke, dass dieses Problem behoben werden sollte. Der Grund, warum ich zu 'puma' wechseln muss, ist, dass die Konfigurationsdatei abgerufen wird: http://StackOverflow.com/questions/25225444/how-to-run-rails-puma-server-with-config-file-using -rails-s-puma – odigity
Eine andere Lösung, wenn Sie dies hinter einem Apache/Nginx Reverse Proxy verwenden, ist nur die IPv6-Adresse zu verwenden. – luismreis