Recentemente, tive alguns problemas para fazer o servidor da web puma funcionar com a seguinte configuração:
- ruby 1.9.3-p374
- rvm 1.18.0
- nginx 1.2.4
- puma 1.6.3
Eu queria usar os scripts da selva ( https://github.com/puma/puma/tree/master/tools/jungle ) para executar várias instâncias. Infelizmente, tudo parecia bem, mas o processo de inicialização do puma estava falhando silenciosamente. Acontece que o travamento aconteceu porque o rvm não pôde ser encontrado e carregado.
O que eu tive que fazer foi carregar a função rvm manualmente
source ~/.bash_profile
durante a inicialização do jungle e para usar o comando fonte eu tive que mudar o script do jungle para se comportar como script bash
mudança
#! /bin/sh
Para
#! /bin/bash
Toda a configuração é explicada por Tommy Chheng ( http://tommy.chheng.com/2013/01/23/deploying-a-rails-app-on-nginxpuma-with-capistrano ) e eu adicionei uma joia para integração conveniente de capistrano ( https://github.com/xijo/capistrano-puma ).