如何用Mongrel cluster运行Redmine

Mongrel 是一个用Ruby开发的、快速的HTTP库和HTTP服务器,其目的是通过普通的HTTP协议(而不是FastCGI或者SCGI)来架设用Ruby开发的网络应用程序。

此篇说明将假定: * Redmine安装在 /var/www/redmine 目录 * apache2作为集群前端的负载平衡代理

使用apache 2.2, mongrel 1.1.3, mongrel_cluster-1.0.5和rails 2.0.2在linux主机上测试通过

安装mongrel cluster

安装必需的 gems:

sudo gem install mongrel mongrel_cluster daemons

为Redmine配置mongrel cluster:

cd /var/www/redmine
sudo mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www/redmine --user www-data --group www-data

然后启动集群:

sudo mongrel_rails cluster::start

此命令将启动3个mongrel服务器,端口分别是8000、8001和8002。您可以通过这些端口访问Redmine(例如: http://localhost:8000)。

安装负载均衡服务器

在Apache配置文件中添加一个虚拟主机。
下面是一个简单的配置,它使用apache处理静态资源,而将动态请求转发到集群上:

<VirtualHost *>
ServerName redmine.yourdomain
DocumentRoot /var/www/redmine/public
<Directory "/var/www/redmine/public">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Proxy balancer://redmine_cluster>
Order allow,deny
Allow from all
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
</Proxy>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]
</VirtualHost>

重启apache,配置完成。

Also available in: HTML TXT