Como faço para iniciar o unicorn_rails como um script de inicialização com rvm instalado na minha máquina 12.04 do Ubuntu?

1

Eu tenho um aplicativo rails no meu servidor. Eu tenho um script startup.sh que lança unicorn_rails e depois nginx.

Para que meu servidor seja iniciado na inicialização do sistema, adicionei uma linha para chamar meu script de inicialização para /etc/rc.local

No entanto, isso não funciona. Eu adicionei algumas verificações para garantir que o script está sendo chamado e é. É a chamada para unicorn_rails que eu acho que está falhando. Alguém tem experiência com isso?

    
por ne0lithic_coder 25.09.2012 / 11:11

2 respostas

0

Isso acabou sendo um problema de permissão do usuário. Unicorn, ruby e rails foram instalados como meu login regular enquanto o script estava sendo lançado como usuário root. Isso criou problemas com as gemas instaladas não visíveis para o usuário root. Eu resolvi o problema chamando um segundo script com 'su' como meu usuário não root normal.

    
por 17.04.2014 / 21:52
0

Eu encontrei o mesmo problema e consegui resolver meu problema criando um script init.d para unicorn_rails e, em seguida, ativando-o na inicialização com o chkconfig.

chmod +x /etc/init.d/unicorn
chkconfig unicorn on

Exemplo de script init.d do unicorn_rails. link

A única grande mudança que fiz no meu script foi adicionar chamadas de serviço nginx aos blocos de ação. Dessa forma, quando você inicia / pára / reinicia ou executa o status em unicorn_rails, o nginx faz o mesmo.

    
por 10.04.2014 / 16:29