Подтвердить что ты не робот

Неизвестная директива Nginx для passenger_root

У меня возникла ошибка при попытке перезагрузить сервер. Я не знаю, как это исправить.

[email protected]:~$ 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;
4b9b3361

Ответ 1

Я столкнулся с тем же. Я случайно установил пакет nginx-extras, который обычно предоставляется в Ubuntu, а не в репозитории Phusion Passenger. В пакете Passenger пакет Passenger скомпилирован с модулем Nginx, а в другом - нет.

Решение состоит в том, чтобы добавить репозиторий 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

Ответ 2

Я устанавливаю nginx-extras и помещаю include/etc/nginx/modules-enabled/*.conf; перед event {...}.

ОС: сервер Ubuntu 18.04

Ответ 3

Ни один из ответов на этой странице не помог мне с 18.04 LTS и пассажир 6.0.1. Я следовал официальному руководству на https://www.phusionpassenger.com/library/install/nginx/install/oss/bionic/, и это решило эту проблему для меня. Похоже, что процесс установки изменился с момента публикации нескольких последних ответов.

Эти команды установят модуль Passenger + Nginx через репозиторий Phusion APT. На данный момент мы предполагаем, что у вас уже установлен 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