1.Mongrel_cluster配置
Mongre_cluster的设置比较简单,在你的Rails应用的根目录下运行,以下假设Rails的应用程序目录为/home/Ubuntu/railsapp/demo/
mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 -c /home/ubuntu/railsapp/demo/
解释一下:
-e 指定运行环境,有production(生产)、development(开发)、test(测试)三个选项。
-p 指定监听端口
-a 127.0.0.1 指定Mongrel在localhost下监听
-N 2 启动两个Mongrel进程,端口从8000~8001
运行后,会在应用程序目录 config/mongrel_cluster.yml, 以后有什么变化,直接修改这个文件就可以了。
在终端下输入以下命令启动Mongrel:
mongrel_rails cluster::start
要停止则输入:
mongrel_rails cluster::stop
2.Apache 的设置
首先要启动mod_proxy模块.
cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/proxy_balancer.load proxy_balancer.load
sudo ln -s ../mods-available/proxy_http.load proxy_http.load
sudo ln -s ../mods-available/proxy.load proxy.load
sudo ln -s ../mods-available/proxy.conf proxy.conf
接着要修改一下proxy.conf文件
sudo vim /etc/apache2/mods-available/proxy.conf
替换 #Allow from .example.com 为 Allow from all (在第12行)
修改 /etc/apache2/apache2.conf 文件(默认是在最后一行)
sudo vim /etc/apache2/apache2.conf
替换 Include /etc/apache2/sites-enabled/ 为 #Include /etc/apache2/sites-enabled/ (在前面加上#)
然后在/etc/apache2/httpd.conf里添加以下部分
<Proxy balancer://mongrel>
BalancerMember :8000
BalancerMember :8001
</Proxy>
<VirtualHost *:80>
ProxyPass / balancer://mongrel/
ProxyPassReverse / balancer://mongrel/
</VirtualHost>
重启Apache以使设置生效:
sudo /etc/init.d/apache2 restart
这样一个ubuntu 7.10 server 下的 ROR 的生产环境就配置好了。