针对passenger_root的Nginx未知指令

时间:2014-02-17 22:38:24

标签: nginx passenger

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

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;

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:6)

我正在安装thread-3,并将thread-2放在nginx-extras部分之前。

操作系统:ubuntu 18.04服务器

答案 2 :(得分:2)

此页面上的答案都没有帮助我使用 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