
願わくば、これがこの質問をする適切なサイトであることを願っています。
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