我相信这是一个很简单的问题,在你的when服务器上已经安装了nginx的情况下,是否可以安装passenger?
如果答案是肯定的,那么我已经执行了以下操作:
此时,我已经安装了nginx (用于我的PHP应用程序),接下来我检查了乘客的git存储库:
mkdir /repositories
cd /repositories/
git clone https://github.com/FooBarWidget/passenger.git
cd passenger/然后将此代码片段添加到/etc/nginx/conf/nginx.conf
http {
...
passenger_root /repositories/passenger;
passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby;
...
}然而,当我想重新启动nginx时,我得到了以下错误:
* Starting Web Server nginx
nginx: [emerg] unknown directive "passenger_root" in /etc/nginx/nginx.conf:19我的结论是,我仍然需要设置一些配置,以便nginx知道我们正在使用passenger。
我的服务器块
server {
listen 80;
server_name rails.kreatude.com;
root /srv/www/my_test_app;
passenger_enabled on;
}发布于 2011-10-09 03:51:25
我认为你的问题是乘客模块没有出现在nginx中。
您描述的所有与乘客相关的指令(passenger_root、passenger_ruby、passenger_enabled)只有在乘客模块附加到nginx时才可用。这就是为什么你必须用--add-module='/path/to/passenger-3.0.9/ext/nginx'编译nginx。
不幸的是,我不知道有什么方法可以在不重新安装nginx的情况下启用乘客模块。但是,根据http://wiki.nginx.org/Modules的说法,"Nginx模块必须在编译时选择。“,所以有可能没有办法做到这一点。
发布于 2014-01-07 05:35:30
在乘客文档中,"Generic installation, upgrade and downgrade method: via RubyGems"一章讨论了这一点。基本上,一旦安装了Passenger gem,就需要重新编译nginx (如果存在,则使用nginx而不是yum/apt-get-installed nginx)。Passenger的编译/配置实用程序" Passenger -install-nginx-module“会为您做这件事(它是Passenger gem的一部分),它会自动包含Passenger所需的开关。它还允许您选择添加您自己的开关(例如,用于额外的模块,或者启用/禁用NGiNX的内置功能)。
发布于 2015-09-18 15:41:42
使用rvm,您只需运行rvmsudo passenger-install-nginx-module就可以做到这一点。
https://stackoverflow.com/questions/7612787
复制相似问题