针对passenger_root的Nginx未知指令

Pap*_*nho 16 passenger nginx

我尝试重新启动服务器时遇到错误.我不知道如何解决这个问题.

deploy@user:~$ sudo nginx -s reload
nginx: [emerg] unknown directive "passenger_root" in /etc/nginx/nginx.conf:66
Run Code Online (Sandbox Code Playgroud)

我将这些行添加到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;
Run Code Online (Sandbox Code Playgroud)

Ada*_*dam 21

我碰到了同样的事情.我不小心安装了通常由Ubuntu提供的nginx-extras软件包,而不是Phusion Passenger软件库提供的软件包.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
Run Code Online (Sandbox Code Playgroud)

  • 解决方案是添加Phusion Passenger的apt存储库,然后从中安装nginx-extras包.有关如何在其网站上执行此操作的说明:https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#install_on_debian_ubuntu (5认同)
  • 所以...解决方案是什么? (3认同)

ric*_*eol 6

我安装nginx-extras并放在部分include /etc/nginx/modules-enabled/*.conf;之前event {...}.

操作系统:ubuntu 18.04服务器

  • 这个工作,它应该在事件部分之前的`/etc/nginx/nginx.conf`里面! (2认同)

Sky*_*yNT 6

本页上的答案都没有帮助我解决18.04 LTS乘客 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
Run Code Online (Sandbox Code Playgroud)

启用 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
Run Code Online (Sandbox Code Playgroud)

检查安装

sudo /usr/bin/passenger-config validate-install
Run Code Online (Sandbox Code Playgroud)