¿Por qué Puma solo se une a tcp6? (a través de `rails s`)
Nuevo proyecto Rails 4.2.0 generado. Corriórails s
, se comportó como se esperaba usando WEBrick:
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
Se agregó puma a Gemfile, se ejecutó bundle y luegorails s
de nuevo; se le ocurrió Puma, pero solo enlazó la interfaz tcp6, no 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
¿Alguna pista de por qué? He estado buscando en Google sin suerte.
ACTUALIZAR:
Corriendopuma -b tcp://0.0.0.0:3000
trabajos. Sin embargo, agregar la directiva de enlace a config / puma.rb y ejecutarrails s
no:
bind 'tcp://0.0.0.0:3000'
Sin embargo, las directivas de subprocesos / trabajadores en mi archivo de configuración están funcionando, así que sé que el archivo de configuración se está cargando y utilizando. (Incluso agregó una declaración de put para estar seguro).
El archivo de configuración incluso se recupera si solo ejecutopuma
, vinculante a la interfaz correcta. Puede que solo tenga que recurrir a correrpuma
en lugar derails s
, aunque es molesto y debe agregarse a mis documentos de desarrollador.
ACTUALIZACIÓN2:
Estaba equivocado. Corriendorails s
no recoge config / puma.rb automáticamente. Todavía investigando ...