2012-02-24 34 views
24

私はUbuntu 10.04でApache2を使ってPhusion Passengerセットアップを行っています。 Apacheサーバーを再起動するたびに、次のエラーメッセージが表示され、Railsアプリケーションが実行されていません。Phusion Passengerウォッチドッグを開始できませんか?

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

私はapache 2.4、乗客4.0.58で同じ問題が発生しました。掘り下げた後、私のEC2マイクロインスタンスがApacheモジュールをコンパイルするのに十分なメモリを持っていないことが判明しました。メモリ不足のエラーで失敗していました。次のインスタンスサイズにアップグレードすると問題が解決しました。 –

+0

Shyamの問題を拡張するだけです。旅客のコンパイルは一度失敗し、後続の実行に成功しましたが、乗客のインストールは悪い状態になりました(その後の正常な実行は戻って元の悪いコンパイルを修正しません)。私は別のルートをとった...新しいマイクロインスタンスを作成し、スワップを追加し、Passengerがコンパイルして正常に起動するのを見た。 –

答えて

60

ソースからコンパイルするときに同じ問題が発生しましたが、断続的でした。これは本当にイライラしていました(私はそれがRails環境にあると思います)。 passenger-install-apache2-module/passenger-install-nginx-moduleスクリプトを使用することはできませんでした。なぜなら、カスタマイズされたnginxインストールが必要だったからです。

最後に、passenger-config --rootが何であれ、rake nginxを実行して問題を解決しました。

アップデート2016年2月(旅客著者):(乗客インストール-nginxのモジュールが行うように、また、nginxのをコンパイルせず)PassengerAgentをコンパイルする

公式にサポートされている方法は、このコマンドである:

passenger-config compile-agent 

Passenger 5.0.26以降では、このStackOverflow質問に記載されているエラーを自動的に検出し、上記のコマンドの実行を自動的に提案します。

+7

私はRVMを使用していて、 'rvmsudo rake nginx'を使いました。 –

+0

「root」ユーザアカウント、またはpassenger-install-nginx-moduleの設定時に使用したアカウントに切り替える必要があるかもしれません。 – s2t2

+1

"passenger-config - root"は、現在のプロジェクトのGemfile.lockが指定した旅客の宝石のバージョンを指します。異なるRailsプロジェクトが異なるバージョンのPassengerを使用する可能性があるため、それが断続的な理由を説明するかもしれません。 – Sv1

6

passenger-install-apache2-moduleスクリプトを実行して、乗客モジュールをインストールしてみます。 私は同じ問題を抱えていましたが、nginxでは問題ありませんでした。私は宝石を介して旅客をインストールし、手動で旅客モジュールでnginxを再コンパイルする - これはあなたによって記述されたエラーを引き起こした。助手席のnginx-moduleを走らせた後、そのようなエラーは消えました。

+1

passenger-install-nginx-moduleが私のために働いた! – AnkitG

9

私はこのエラーを自分自身で打ち、良い答えを見つけるのに苦労しました。 私の設定では、最新のPassenger and Rails 2.3であるApache2のUbuntuに向かいます。

  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. このすべてをやる、正しいです
  7. cd passenger-3.0.12
  8. ./bin/passenger-install-apache2-module
  9. 〜/ .bashrcに
  10. ln -s /usr/lib/passenger-3.0.12 /usr/share/phusion-passenger#=>を追加すると、これはPassengerWatchdogで行う怪我の世界を修正します。注意:PassengerWatchdogはapt-getで下りません。これがバイナリを取得した理由です。
  11. ln -s /usr/lib/passenger-3.0.12 /usr/lib/phusion-passenger#=>同様の問題。

これは最後の1日半の間それをスラッシングした後のメモリであり、私は再びそれを通過しなければならないときに整理します。

0

nginxを再起動してから、その間に乗客への道が変わってしまっていたのはしばらくありました。私はpassenger_rootがに設定されたかを確認するnginx.confに見て、それは古い値だったことに気づい:私はnginxの、エラーを再起動

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

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

が頻繁に変更するには、2つの場所があります行ってしまった。

-2

Nginx-Serverで同じ問題が発生しました。
私の場合、passenger_rootディレクトリは、gemの更新のために正しくありませんでした。

[1] Linuxでは、私は、次のコマンドを使用した乗客のディレクトリを検索:

find/-name PassengerWatchdog 

[2]今、私はこのディレクトリに自分の 'passenger_root' 値を変更しました。
[3]そして、サーバを再起動してください。

suvankar、あなたも旅客路を変更する必要があります。

関連する問題