我有 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
) 的虚拟主机。