Por que o Puma está vinculando apenas ao tcp6? (via `rails s`)
Novo projeto gerado do Rails 4.2.0. Correurails s
, se comportou conforme o esperado usando o 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
Adicionado puma ao Gemfile, correu o pacote e depoisrails s
novamente; surgiu com a Puma, mas apenas vinculou a interface tcp6, não a 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
Alguma pista do porquê? Eu tenho pesquisado no Google sem sorte.
ATUALIZAR:
Corridapuma -b tcp://0.0.0.0:3000
trabalho. No entanto, adicionando a diretiva de ligação ao config / puma.rb e executandorails s
não:
bind 'tcp://0.0.0.0:3000'
As diretivas threads / workers no meu arquivo de configuração estão funcionando, no entanto, então eu sei que o arquivo de configuração está sendo carregado e usado. (Inclusive adicionou uma declaração put para ter certeza.)
O arquivo de configuração é captado mesmo se eu apenas executarpuma
, vinculando à interface correta. Eu só posso ter que recorrer à corridapuma
ao invés derails s
, mesmo que seja irritante e precise ser adicionado aos meus documentos de desenvolvedor.
UPDATE2:
Eu estava errado. Corridarails s
não pega o config / puma.rb automaticamente. Ainda investigando ...