I have done a Phusion Passenger setup on Ubuntu 10.04, with Apache2. Whenever I restart the Apache server I got the following error message, and the Rails application is not running.
[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.
It had been a while since I had restarted nginx and in the meantime the path to passenger had changed. I looked in the
nginx.conf
to see what thepassenger_root
was set to and realized that it was the old value:There are often two places to change:
I restarted nginx and the error was gone.
I ran into the same problem when compiling from source, but it was intermittent, which was really frustrating (I think it has to w/ Rails environments). We couldn't use the passenger-install-apache2-module/passenger-install-nginx-module scripts, because we needed a customized nginx installation.
I finally fixed the problem by going to whatever the
passenger-config --root
is, then running:rake nginx
.Update February 2016 (by Passenger author):
The officially supported method to compile PassengerAgent (without also compiling Nginx, as passenger-install-nginx-module does) is with this command:
Passenger 5.0.26 and later will automatically detect the error described in this StackOverflow question, and will automatically suggest running the above command.
I've just hit this error myself and struggled to find a good answer, so here's my writeup. In my setup I'm going for Ubuntu, Apache2, the latest Passenger and Rails 2.3.
gem -v
is correct, if it's wrong you'll do all this twicesudo 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
export PATH=/var/lib/gems/1.8/bin:$PATH
to ~/.bashrcln -s /usr/lib/passenger-3.0.12 /usr/share/phusion-passenger
# => this fixes a world of hurt to do with PassengerWatchdog. NB: PassengerWatchdog doesn't come down with apt-get which is why we grabbed the binaries.ln -s /usr/lib/passenger-3.0.12 /usr/lib/phusion-passenger
# => similar issues.This is from memory following thrashing it through for the last day and a half, I'll tidy up when I have to go through it again.
Try to install passenger module by running script passenger-install-apache2-module . I had same problem but on nginx; I installed passenger via gem and then recompiled nginx manually with passenger module - this caused error described by you. After running passenger-install-nginx-module such error disappeared.
I had the same issue on my Nginx-Server.
In my case, the
passenger_root
directory was not correct, because of gem update.[1] On Linux, i searched the passenger Directory with the following Command:
[2] Now i changed my 'passenger_root' Value to this Directory.
[3] And restart the Server.
suvankar, Maybe you should change your Passenger Path too.