Не удалось запустить сторожевой таймер Phusion Passenger? - PullRequest
26 голосов
/ 24 февраля 2012

Я выполнил настройку Phusion Passenger в Ubuntu 10.04 с Apache2. Всякий раз, когда я перезагружаю сервер Apache, я получаю следующее сообщение об ошибке, и приложение Rails не работает.

[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.

Ответы [ 5 ]

61 голосов
/ 17 ноября 2012

Я столкнулся с той же проблемой при компиляции из исходного кода, но она была прерывистой, что очень расстраивало (я думаю, что это связано с средами Rails).Мы не могли использовать сценарии passenger-install-apache2-module / passenger-install-nginx-module, потому что нам требовалась настраиваемая установка nginx.

Я наконец-то решил проблему, перейдя к тому, что passenger-config --rootзатем запускается: rake nginx.

Обновление за февраль 2016 г. (автор Пассажира):

Официально поддерживаемый метод для компиляции PassengerAgent (без компиляции Nginx, какpassenger-install-nginx-module делает) с этой командой:

passenger-config compile-agent

Passenger 5.0.26 и более поздних версий автоматически обнаружит ошибку, описанную в этом вопросе StackOverflow, и автоматически предложит выполнить указанную выше команду.

9 голосов
/ 04 мая 2012

Я только что попал в эту ошибку и изо всех сил пытался найти хороший ответ, так что вот моя рецензия. В моей настройке я собираюсь использовать Ubuntu, Apache2, последнюю версию Passenger and Rails 2.3.

  1. Установите Ruby и Rubygems NB: убедитесь (очень), что ваш gem -v правильный, если он ошибается, вы сделаете все это дважды
  2. sudo gem install passenger
  3. cd /usr/lib
  4. wget http://rubyforge.org/frs/download.php/76005/passenger-3.0.12.tar.gz
  5. tar zxvf passenger-3.0.12.tar.gz
  6. cd passenger-3.0.12
  7. ./bin/passenger-install-apache2-module
  8. Добавить export PATH=/var/lib/gems/1.8/bin:$PATH в ~ / .bashrc
  9. ln -s /usr/lib/passenger-3.0.12 /usr/share/phusion-passenger # => это исправляет мир, связанный с PassengerWatchdog. NB: PassengerWatchdog не использует apt-get, поэтому мы взяли двоичные файлы.
  10. ln -s /usr/lib/passenger-3.0.12 /usr/lib/phusion-passenger # => похожие проблемы.

Это по памяти, после того, как он прошел его в течение последних полутора дней, я приведу в порядок, когда мне придется пройти через это снова.

7 голосов
/ 26 февраля 2012

Попробуйте установить пассажирский модуль, запустив скрипт passenger-install-apache2-module. У меня была такая же проблема, но на nginx; Я установил пассажиров через gem, а затем перекомпилировал nginx вручную с пассажирским модулем - это вызвало описанную вами ошибку. После запуска passenger-install-nginx-module такая ошибка исчезла.

0 голосов
/ 03 января 2014

У меня была такая же проблема на моем Nginx-сервере.
В моем случае каталог passenger_root был неправильным из-за обновления gem.

[1] В Linux я искалКаталог пассажиров с помощью следующей команды:

find / -name PassengerWatchdog

[2] Теперь я изменил значение «passenger_root» на этот каталог.
[3] И перезапустите Сервер.

suvankar, Может быть, вам также следует изменить свой Путь Пассажира.

0 голосов
/ 08 октября 2013

Прошло много времени с тех пор, как я перезапустил nginx, и за это время путь к пассажиру изменился.Я посмотрел в nginx.conf, чтобы увидеть, что было установлено в passenger_root, и понял, что это было старое значение:

http {
    passenger_root /home/nginx/rails_app/myapp/shared/bundle/ruby/1.9.1/gems/passenger-enterprise-server-3.0.17;

Часто есть два места для изменения:

server {
    listen 8888;
    root /home/nginx/rails_app/myapp/current/public;

Я перезапустил nginx, и ошибка исчезла.

...