
Esperamos que este seja o site correto para fazer esta pergunta.
Tenho um serviço da web que estou tentando configurar usando NginX com Phusion Passenger em um aplicativo Ruby Sinatra. O problema é que quando tento iniciar o servidor e testar o site, recebo o seguinte erro:
zsh:1: no such file or directory: passenger/buildout/agents/SpawnPreparer
Agora, consegui determinar que SpawnPreparer
está chamando zsh
, embora não saiba por quê. Eu nem uso zsh
e não estava usando quando construí o servidor. Porém, o que eu gostaria de saber é se é possível configurar o passageiro no nginx.conf para usar um shell diferente para gerar seus processos? Se sim, como?
Este é o Phusion 4.0.14
Obrigado!
Responder1
Quando o Phusion Passenger gera um aplicativo, ele o faz invocando o comando $SHELL -lc '/path-to-passenger-root/buildout/agents/SpawnPreparer /path-to-passenger-root/helper-scripts/rack-loader.rb <SOME ARGUMENTS>'
. Está descrito aqui:https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems#the-spawning-process-explained. Aqui, $SHELL é o shell do usuário, conforme configurado no banco de dados de usuários do sistema operacional (/etc/passwd). No seu caso, seu usuário está configurado com zsh como shell. Esta é provavelmente a configuração padrão do seu sistema operacional.
Sua mensagem de erro indica que não é possível executar o arquivo passenger/buildout/agents/SpawnPreparer
. Em outras palavras, Phusion Passenger pensa que isso /path-to-passenger
é igual passenger
. Isso provavelmente significa que você definiu o valor incorreto para a passenger_root
diretiva, que determina o valor adequado de /path-to-passenger
.