Cómo reparar NginX/Phusion/Passenger "zsh:1: no existe tal archivo o directorio: pasajero/buildout/agents/SpawnPreparer"

Cómo reparar NginX/Phusion/Passenger "zsh:1: no existe tal archivo o directorio: pasajero/buildout/agents/SpawnPreparer"

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 SpawnPreparerestá llamando zsh, aunque no estoy seguro de por qué. Ni siquiera lo uso zshy 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-passengeres igual passenger. Esto probablemente significa que configuró el valor incorrecto para la passenger_rootdirectiva, que dicta el valor correcto de /path-to-passenger.

información relacionada