
Esperemos que este sea el sitio correcto para hacer esta pregunta.
Tengo un servicio web que estoy intentando configurar usando NginX con Phusion Passenger en una aplicación Ruby Sinatra. El problema es que cuando intento iniciar el servidor y probar el sitio, aparece el siguiente error:
zsh:1: no such file or directory: passenger/buildout/agents/SpawnPreparer
Ahora he podido determinar que SpawnPreparer
está llamando zsh
, aunque no estoy seguro de por qué. Ni siquiera lo uso zsh
y no lo estaba usando cuando construí el servidor. Sin embargo, lo que me gustaría saber es si es posible configurar el pasajero en nginx.conf para usar un shell diferente con el que generar sus procesos. ¿Si es así, cómo?
Esto es Phusion 4.0.14
¡Gracias!
Respuesta1
Cuando Phusion Passenger genera una aplicación, lo hace invocando el comando $SHELL -lc '/path-to-passenger-root/buildout/agents/SpawnPreparer /path-to-passenger-root/helper-scripts/rack-loader.rb <SOME ARGUMENTS>'
. Se describe aquí:https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems#the-spawning-process-explained. Aquí, $SHELL es el shell del usuario, tal como está configurado en la base de datos de usuario del sistema operativo (/etc/passwd). En su caso, su usuario está configurado con zsh como shell. Probablemente esta sea la configuración predeterminada de su sistema operativo.
Su mensaje de error indica que no puede ejecutar el archivo passenger/buildout/agents/SpawnPreparer
. En otras palabras, Phusion Passenger piensa que /path-to-passenger
es igual passenger
. Esto probablemente significa que configuró el valor incorrecto para la passenger_root
directiva, que dicta el valor correcto de /path-to-passenger
.