You are on page 1of 3

CentOS下用Phusion Passenger方式部署rails应用 -- redmine示例

2011年5月20日
21:31

主题 CentOS下用Phusion Passenger方式部署rails应用 -- redmine示例


发件人 寒武纪
发送时间 2011年5月19日 15:10

Phusion Passenger模块使得Rails应用可以像PHP模块一样运行在Apache上,非常方便。
准备条件:CentOS服务器已经装好了Apache2.2和Redmine应用

1. 安装Passenger模块
gem install passenger
passenger-install-apache2-module

第二个命令是安装passenger的apache2模块,它已经做得很智能,会提示你确认安装以及
最后怎么配置模块到apache中。
摘出配置段的内容如下:
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7
PassengerRuby /usr/bin/ruby

把红色字体部分拷贝到apache的配置文件,可以是主配置文
件/etc/httpd/conf/httpd.conf,也可以是在/etc/httpd/conf.d/目录下新建一个子文件命名为
ruby.conf,推荐第二种方式,更为简洁,丌会影响主文件的配置。

2. 先测试一下passenger是否安装正常

切换到redmine的安装目录下,passenger start 命令尝试一下是否正常能以paasenger方


式启动,如果没有异常,恭喜,已经安装完成,剩下的工作就是配置一个虚拟主机和子给你的
redmine,这样可以转到更为常用的80端口上。

3. 配置rails应用做为sub URI模式
在passenger的官方文档中其实有好几种配置的方式,可以是域名、域名子URI等,很多时
候你可能只有一个域名,那么利用sub URI来挂丌同的应用就显得比较
首先配置一段虚拟主机如下:

分区 CentOS 的第 1 页
首先配置一段虚拟主机如下:
<VirtualHost *:80>
ServerName www.phusion.nl
DocumentRoot /websites/phusion
<Directory /websites/phusion>
Allow from all
</Directory>
</VirtualHost>
解释一下过程大致是先创建一个硬链接,如下:
ln -s /webapps/mycook/public /websites/phusion/rails

/webapps/mycook/public是你的rails的应用目录下面的public目录,例如你的redmine安装
在/var/www/html,这个目录就是
/var/www/html/redmine/public,后面就是你Apache主目录下的创建的一个链接地址rails,意思
就是把/var/www/html/redmine/public
链接到/var/www/html/rails,而/var/www/html/rails是实际上丌存在的。
然后再配置子目录如下:

<VirtualHost *:80>
ServerName www.phusion.nl
DocumentRoot /websites/phusion
<Directory /websites/phusion>
Allow from all
</Directory>

RailsBaseURI /rails # <-- These lines have


<Directory /websites/phusion/rails> # <-- been added.
Options -MultiViews # <--
</Directory> # <--
</VirtualHost>
最后四句带#注释说明是重点,应用RailsBaseURI命令把rails子URI指定到rails的应用目录,而
rails目录就是我们上面链接的目录,而实际上会跳到我们的直接redmine目录。

寒武纪 2011-05-19 15:10 发表评论

分区 CentOS 的第 2 页
查看文章...

分区 CentOS 的第 3 页

You might also like