我可以为现有的Nginx添加乘客支持而不是重建吗?

时间:2012-04-22 19:29:49

标签: ruby-on-rails nginx passenger

我有一台服务器运行nginx服务两个php网站,现在我想让它服务一个rails应用程序,我用谷歌搜索,但没有关于为现有的nginx添加乘客支持的说明,所有这些都告诉我运行passenger-install-nginx-module来构建一个nginx。

我可以为我的nginx添加乘客支持而不是重建吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您仍然需要重建nginx。如果你运行passenger-install-nginx-module,你会看到这个输出:

  

Nginx不支持其他Web服务器等可加载模块,因此为了安装带有Passenger支持的Nginx,必须重新编译它。

有关步骤,请参阅Installing Passenger as a normal Nginx module

cd /path-to-nginx-source-dir
./configure --prefix=/opt/nginx \
  --add-module=$(passenger-config --nginx-addon-dir) \
  --add-module=/path-to-some-nginx-module
make
sudo make install

可以使用以下命令获取/ path-to-passenger-module的值:

passenger-config --nginx-addon-dir

答案 1 :(得分:0)

如果您使用Phusion Passenger Standalone,则无需重建nginx。

来自Passenger's wiki

  

"但我不想重新编译Nginx。有替代方案吗?"

     

是。使用Phusion Passenger的独立模式。 Phusion Passenger   Standalone是一个独立的服务器。它没有扩展Nginx,所以它确实如此   不需要重新编译Nginx。因此它将与之完美配合   你现有的Nginx安装。

     

使用Passenger Standalone时,您应该:

Start Passenger Standalone on a certain port or socket file.
Add reverse proxy rules to your Nginx configuration file, to forward requests to Passenger Standalone.
     

如果您曾经使用过Unicorn和Puma,那么请使用Passenger Standalone   将非常熟悉:用法几乎相同。