Nginx未知指令passenger_root

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

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

我将这些行添加到nginxconfiguration文件“/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; 

我遇到了同样的事情。 我不小心安装了通常由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