パッセンジャーとnginxを実行しているUbuntuサーバーにRailsアプリケーションをデプロイしようとしています。サーバーはruby1.8で約1年間動作していましたが、最近1.9.3にアップグレードし(今回はRVMを使用)、その結果、すべてを再インストールする必要がありました。私は現在2つの問題に直面しています:
403禁止エラー
nginxサーバーを起動できましたが、railsアプリケーションにアクセスしようとすると、次のような403Forbiddenエラーが表示されます。
*2177 directory index of "/srv/myapp/public/" is forbidden
nxinxヘルプドキュメントを調べて、/srv/myapp/
ディレクトリに適切なアクセス許可があることを確認しました。これはdeploy
、nginxのワーカープロセスを所有するユーザーによって所有され、設定されchmod 755
ます。
NginxとPassengerのインストールの問題
nginxサーバーを再起動すると、phusionpassengerのインストールに問題があることを示す別のエラーも表示されます。
Unable to start the Phusion Passenger watchdog because its executable (/usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.13/agents/ PassengerWatchdog) does not exist. This probably means that your Phusion Passenger installation is broken or incomplete, or that your 'passenger_root' directive is set to the wrong value. Please reinstall Phusion Passenger or fix your 'passenger_root' directive, whichever is applicable.
root以外の(ただしsudoが有効になっている)ユーザーからpassenger gemを再インストールし、を使用してnginxを再インストールしましrvmsudo passenger-install-nginx-module
たが、次のエラーが繰り返し発生します。
Your RVM wrapper scripts are too old. Please update them first by running 'rvm get head && rvm reload && rvm repair all'.
RVMのリロード(ありrvmsudo
となしの両方)を実行しましたが、それでもエラーが表示されます。なしでnginxインストールを実行しようとしましたが、ディレクトリ(nginxがインストールされている場所)をrvmsudo
編集できなかったため、アクセス許可の問題が発生しました。/opt/nginx/
インストーラーが必要なソフトウェアチェックに合格しなかったため、今ではそれほど遠くまでは行きません。
背景情報
これは私のnginxプロセスが現在どのように見えるかです:
PID PPID USER %CPU VSZ WCHAN COMMAND
10174 1 root 0.0 18480 ? nginx: master process /opt/nginx/sbin/nginx
29418 10174 deploy 0.3 18496 ? nginx: worker process
29474 12266 1001 0.0 4008 - egrep (nginx|PID)
私のインストールプロセス
さらに参照できるように、ステップバイステップガイドでインストールプロセスを文書化しています。新しいインストールがどのように設定されているかを確認してください。