集群mongrel

先确保安装mongrel and mongrel_cluster,用gem装。

然后生成一个配置文件,使用mongrel_rails :

mongrel_rails cluster::configure -p 8000 -N 3 -c /project/dir/ -a 127.0.0.1

-a 是服务器监听地址
-p 是起始端口号
-N 是进程数
-c 是rails项目目录

将会在config下生成一个mongrel_cluster.yml

ruby 代码
 
  1. ---   
  2. cwd: /project/dir/  
  3. log_file: log/mongrel.log  
  4. port: "8000"  
  5. address: 127.0.0.1  
  6. pid_file: tmp/pids/mongrel.pid  
  7. servers: 3  

自己编辑也可以。

然后在项目目录下启动:

mongrel_rails cluster::start

顺利启动三个服务进程就成功了,监听端口分别是8000, 8001, 8002。

然后再配置apache,弄个proxy和虚拟机就行了:

xml 代码
 
  1. ProxyRequests Off  
  2.   
  3.  <Proxy balancer://mongrel_cluster>  
  4.     BalancerMember http://127.0.0.1:8000  
  5.     BalancerMember http://127.0.0.1:8001  
  6.     BalancerMember http://127.0.0.1:8002  
  7.  </Proxy>  
  8.   
  9.   <VirtualHost *:80>  
  10.     ServerName webcs  
  11.   
  12.     ProxyPass /images !   
  13.     ProxyPass /stylesheets !   
  14.     ProxyPass /javascripts !   
  15.     ProxyPass /stylesheets !   
  16.     ProxyPass /yui !   
  17.     ProxyPass /enter_chat.html !   
  18.     ProxyPass /license.html !   
  19.     ProxyPass /favicon.ico !   
  20.   
  21.     Alias /images /home/magicgod/workspace/webcs/public/images  
  22.     Alias /stylesheets /home/magicgod/workspace/webcs/public/stylesheets  
  23.     Alias /javascripts /home/magicgod/workspace/webcs/public/javascripts  
  24.     Alias /yui /home/magicgod/workspace/webcs/public/yui  
  25.     Alias /enter_chat.html /home/magicgod/workspace/webcs/public/enter_chat.html  
  26.     Alias /license.html /home/magicgod/workspace/webcs/public/license.html  
  27.     Alias /favicon.ico /home/magicgod/workspace/webcs/public/favicon.ico  
  28.   
  29.     ProxyPass / balancer://mongrel_cluster  
  30.     ProxyPassReverse / balancer://mongrel_cluster  
  31.     ProxyPreserveHost on  
  32.   
  33.     ErrorLog /var/log/apache2/webcs-error_log  
  34.     CustomLog /var/log/apache2/webcs-access_log common  
  35.   
  36.   </VirtualHost>  


在httpd.conf里配置,如果是用xampp,则可以extra目录下的httpd-vhosts.conf里配置,当然要把httpd.conf里打开这个文件的引用。

这个配置就是指示集群的三个服务器地址和端口,如果是多机集群,那么只需要改变ip地址就行了,也不复杂。

实际上单机集群就是起多个服务进程而已,可以充分利用服务器资源,是伪集群,只是配置方法一样。

关于session复制的问题,请放在数据库里比较好一点。

mongrel官网上有介绍:
mongrel.rubyforge.org/docs/apache.html

你可能感兴趣的:(apache,虚拟机,Ruby,Rails,yui)