NginX/Phusion/Passenger の「zsh:1: そのようなファイルまたはディレクトリはありません: passager/buildout/agents/SpawnPreparer」を修正する方法

NginX/Phusion/Passenger の「zsh:1: そのようなファイルまたはディレクトリはありません: passager/buildout/agents/SpawnPreparer」を修正する方法

願わくば、これがこの質問をする適切なサイトであることを願っています。

Ruby Sinatra アプリケーションを搭載した Phusion Passenger で NginX を使用して Web サービスをセットアップしようとしています。問題は、サーバーを起動してサイトをテストしようとすると、次のエラーが発生することです。

zsh:1: no such file or directory: passenger/buildout/agents/SpawnPreparer

SpawnPreparerこれで、 がを呼び出していることはわかりましたzshが、その理由はよくわかりません。 は使用しておらずzsh、サーバーを構築したときも使用していませんでした。それでも、nginx.conf で、passenger を設定して、プロセスを生成するために別のシェルを使用することが可能かどうか知りたいです。可能であれば、どのようにすればよいでしょうか。

これはPhsion 4.0.14です

ありがとう!

答え1

Phusion Passenger がアプリケーションを生成するときは、 コマンド を呼び出します$SHELL -lc '/path-to-passenger-root/buildout/agents/SpawnPreparer /path-to-passenger-root/helper-scripts/rack-loader.rb <SOME ARGUMENTS>'。ここで説明します。https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems#the-spawning-process-explainedここで、$SHELL は、OS のユーザー データベース (/etc/passwd) で設定されているユーザーのシェルです。この場合、ユーザーはシェルとして zsh に設定されています。これはおそらく OS のデフォルト設定です。

エラー メッセージは、ファイル を実行できないことを示していますpassenger/buildout/agents/SpawnPreparer。つまり、Phusion Passenger は/path-to-passengerが に等しいと考えています。これはおそらく、 の適切な値を指定するディレクティブpassengerに誤った値を設定したことを意味します。passenger_root/path-to-passenger

関連情報