ruby-on-rails - deploy - ruby on rails install debian
¿No se puede iniciar el perro guardián de Phusion Passenger? (5)
Acabo de cometer este error y luché por encontrar una buena respuesta, así que aquí está mi reseña. En mi configuración voy por Ubuntu, Apache2, el último Passenger and Rails 2.3.
- Instala Ruby y Rubygems NB: asegúrate (muy) de que tu
gem -v
sea correcta, si está mal, harás todo esto dos veces -
sudo gem install passenger
-
cd /usr/lib
-
wget http://rubyforge.org/frs/download.php/76005/passenger-3.0.12.tar.gz
-
tar zxvf passenger-3.0.12.tar.gz
-
cd passenger-3.0.12
-
./bin/passenger-install-apache2-module
- Añadir
export PATH=/var/lib/gems/1.8/bin:$PATH
a ~ / .bashrc -
ln -s /usr/lib/passenger-3.0.12 /usr/share/phusion-passenger
# => esto arregla un mundo de dolores que ver con PassengerWatchdog. NB: PassengerWatchdog no viene con apt-get, por eso tomamos los binarios. -
ln -s /usr/lib/passenger-3.0.12 /usr/lib/phusion-passenger
# => temas similares.
Esto es de la memoria después de haberlo golpeado durante el último día y medio, lo ordenaré cuando tenga que volver a hacerlo.
He hecho una configuración de Phusion Passenger en Ubuntu 10.04, con Apache2. Cada vez que reinicio el servidor Apache, aparece el siguiente mensaje de error y la aplicación Rails no se está ejecutando.
[error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because its executable (/usr/lib/phusion-passenger/agents/PassengerWatchdog) does not exist. This probably means that your Phusion Passenger installation is broken or incomplete, or that your ''PassengerRoot'' directive is set to the wrong value. Please reinstall Phusion Passenger or fix your ''PassengerRoot'' directive, whichever is applicable.
Había pasado un tiempo desde que reinicié nginx y, mientras tanto, el camino hacia el pasajero había cambiado. Miré en el nginx.conf
para ver en qué se configuró la passenger_root
y me di cuenta de que era el valor antiguo:
http {
passenger_root /home/nginx/rails_app/myapp/shared/bundle/ruby/1.9.1/gems/passenger-enterprise-server-3.0.17;
A menudo hay dos lugares para cambiar:
server {
listen 8888;
root /home/nginx/rails_app/myapp/current/public;
Reinicié nginx y el error desapareció.
Intente instalar el módulo de pasajero ejecutando el script passenger-install-apache2-module. Tuve el mismo problema pero en nginx; Instalé el pasajero a través de la gema y luego compilé el nginx manualmente con el módulo del pasajero. Esto causó un error descrito por usted. Después de ejecutar el módulo de instalación de pasajero nginx, tal error desapareció.
Me encontré con el mismo problema al compilar desde la fuente, pero fue intermitente, lo cual fue realmente frustrante (creo que tiene que ver con los entornos de Rails). No pudimos usar las secuencias de comandosancier-install-apache2-module / passenger-install-nginx-module, porque necesitábamos una instalación personalizada de nginx.
Finalmente solucioné el problema yendo a lo que sea la passenger-config --root
, luego ejecutando: rake nginx
.
Actualización febrero 2016 (por autor del pasajero):
El método soportado oficialmente para compilar PassengerAgent (sin compilar también Nginx, como el pasajero-instalar-nginx-módulo) es con este comando:
passenger-config compile-agent
Passenger 5.0.26 y versiones posteriores detectarán automáticamente el error descrito en esta pregunta de y sugerirán automáticamente ejecutar el comando anterior.
Tuve el mismo problema en mi servidor Nginx.
En mi caso, el directorio passenger_root
no era correcto, debido a la actualización de gemas.
[1] En Linux, busqué en el Directorio de pasajeros con el siguiente comando:
find / -name PassengerWatchdog
[2] Ahora cambié mi valor de ''passenger_root'' a este directorio.
[3] Y reinicia el servidor.
suvankar, tal vez debería cambiar su ruta de pasajero también.