我认为这是一个相当简单的问题,当您的网络服务器上已经安装了 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。
我的服务器 block
server {
listen 80;
server_name rails.kreatude.com;
root /srv/www/my_test_app;
passenger_enabled on;
}
最佳答案
我认为您的问题是 nginx 中不存在 passenger 模块。
您描述的所有乘客相关指令(passenger_root、passenger_ruby、passenger_enabled)仅在乘客模块附加到 nginx 时可用。这就是为什么您必须使用 --add-module='/path/to/passenger-3.0.9/ext/nginx'
编译 nginx。
不幸的是,我不知道有什么方法可以在不重新安装 nginx 的情况下启用 passenger 模块。但是,根据 http://wiki.nginx.org/Modules ,“必须在编译时选择 Nginx 模块。”,所以可能没有办法做到这一点。
关于ruby-on-rails - 在已安装 Nginx 时安装 Passenger;可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7612787/