web-dev-qa-db-ja.com

passenger_rootのNginx不明なディレクティブ

サーバーを再起動しようとすると、エラーが発生します。これを修正する方法がわかりません。

deploy@user:~$ Sudo nginx -s reload
nginx: [emerg] unknown directive "passenger_root" in /etc/nginx/nginx.conf:66

これらの行をnginx設定ファイル '/etc/nginx/nginx.conf'に追加しました

passenger_root /home/deploy/.rvm/gems/Ruby-2.0.0-p353/gems/passenger-4.0.37;
passenger_Ruby /home/deploy/.rvm/gems/Ruby-2.0.0-p353/wrappers/Ruby;
17

私も同じことに遭遇しました。 Phusion Passengerのリポジトリではなく、通常Ubuntuで提供されているnginx-extrasパッケージを誤ってインストールしました。 Passengerパッケージには、NginxをモジュールとしてコンパイルしたPassengerがありますが、他のパッケージにはありません。

解決策は、Phusion Passengerのaptリポジトリを追加し、そこからnginx-extrasパッケージをインストールすることです。これを行う方法はLinuxのディストリビューションとバージョンによって若干異なるため、最初にドキュメントを読む必要があります。 https://www.phusionpassenger.com/library/install/nginx/apt_repo/

ドキュメントを読むことが問題である場合は、リポジトリの追加に使用したコマンドを試して、そこからnginx-extrasパッケージをインストールできます。

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
Sudo apt-get install -y apt-transport-https ca-certificates
Sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
Sudo apt-get update
Sudo apt-get install -y nginx-extras
21
Adam

インストールしますnginx-extras そして、置きます include /etc/nginx/modules-enabled/*.conf;event {...} セクション。

OS:ubuntu 18.04サーバー

9
ricsdeol

18.04 LTSおよびpassenger 6.0.1。私は https://www.phusionpassenger.com/library/install/nginx/install/oss/bionic/ で公式ガイドをたどり、この問題を解決しました。最後のいくつかの回答が投稿されてから、インストールのプロセスが変更されたようです。

これらのコマンドは、PhusionのAPTリポジトリを通じてPassenger + Nginxモジュールをインストールします。この時点では、システムリポジトリからNginxが既にインストールされていると想定しています。そうでない場合は、先にそれを実行してから続行してください。

Sudo apt-get install -y dirmngr gnupg
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
Sudo apt-get install -y apt-transport-https ca-certificates

Sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main > /etc/apt/sources.list.d/passenger.list'
Sudo apt-get update

Sudo apt-get install -y libnginx-mod-http-passenger

passenger Nginxモジュールを有効にしてNginxを再起動します

if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then Sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi

Sudo ls /etc/nginx/conf.d/mod-http-passenger.conf

インストールを確認する

Sudo /usr/bin/passenger-config validate-install
3
SkyNT