在运行的 Apache 上启动 Phusion Passenger

在运行的 Apache 上启动 Phusion Passenger

我有 Apache (-v):

Server version: Apache/2.0.63
Server built:   Nov 29 2009 15:23:34
Cpanel::Easy::Apache v3.2.0 rev4899

我想在 Passenger 上启动新的 Sinatra 应用程序。我刚刚安装了 Passenger gem。所以现在我需要设置 apache 配置。

httpd.conf 中有很多服务器上其他应用程序的设置。所以我无法使用 Passenger-install-apache2-module 重新安装 apache。我需要设置现有的 Apache和乘客。我现在该做什么?

答案1

第一步:passenger-install-apache2-module以 root 身份运行。这将安装必需的乘客模块。

第二步:passenger-install-apache2-module脚本会告诉您要向 httpd.conf 添加什么内容。添加它。它不会影响您正在运行的任何其他应用程序。

第三步:对于每个 Ruby on Rails 或 Sinatra 应用,在 Apache 中进行配置。我对 Sinatra 应用执行的操作如下:

<VirtualHost *:80>
  ServerName hman.flame.org
  DocumentRoot /www/hman/current/public
  ExpiresDefault "access plus 10 years"
</VirtualHost>

然后,我让乘客自动检测到config.ru/www/hman/current

对于 Rails 应用程序:

<VirtualHost *:80>
  ServerName art.waywardgypsy.com
  DocumentRoot /www/waywardgypsy-art/current/public
  ExpiresDefault "access plus 10 years"
</VirtualHost>

然后我使用 Capistrano 将 Rails 应用程序部署到/www/waywardgypsy-art

在这两种情况下,.../current/public目录中的文件都是静态的,例如图像、CSS 等。这些文件直接由 Apache 提供。Passenger 查看虚拟主机的配置并检查 Sinatra 或 Rails,如果找到合适的配置文件,它会将其视为合适的应用程序框架。

Passenger 不会影响没有 Sinatra 配置文件 ( config.ru) 或 Rails ( config/boot.rb) 的虚拟主机。

相关内容