使用Capistrano部署apache+mongrel cluster

 

  

部署任务:

机器1 192.168.100.231, os: CentOS release 3.6 (Final),装上apache2.3.6+mongrel cluster

机器2 192.168.100.234, os: CentOS release 4.3 (Final) 装上 mongrel cluster

关于配置apache+mongrel cluster本文不再赘述,请看本人的文章
 
关于Capistrano的基础,请看本人的文章
在这边文章中主要使用了Capistrano部署了一个单实例的mongrel 服务器,并且也只部署了一台机器
 
基于前两篇的基础,本文描述了如何使用Capistrano部署apache+mongrel cluster应用到多台机器
 
重点就是 deploy.rb
 
set   :application ,   " space "
set   :repository ,   " http://192.168.100.212:3690/repo/moxtv/branches/space "
set   :svn_username ,   " weip "
set   :svn_password ,   " weip "
 
#   If  you aren't deploying to  / u / apps /# {application}  on  the target
#  servers  ( which is the default ),  you can specify the actual location
#  via the  :deploy_to  variable:
#   set   :deploy_to ,   " /var/www/#{application} "
 
#   If  you aren't using Subversion to manage your source code ,  specify
#  your SCM below:
#   set   :scm ,   :subversion
set   :use_sudo , false 
 
set   :deploy_to ,   " /var/www/webapps/#{application} "           
set   :user ,   " root "     
set   :password ,   " secretpa "
 
role 
:app ,   " 192.168.100.231 " , " 192.168.100.234 "     # new  0
role 
:web ,   " 192.168.100.231 "
role 
:db ,   " 192.168.100.231 " ,   :primary   =>  true
 
 
task 
:chmod ,   :roles   =>   :web   do
 
run   " chmod -fR 755 #{deploy_to}/current/script/* "
end
 
after 
" deploy:symlink " ,   :chmod
 
default_environment[
" PATH " = " /usr/local/ruby2/bin:/usr/local/apache2.2.6/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/ruby/bin:/usr/local/ant/bin:/usr/java/jdk1.5.0_05/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin "
 
 
# new  1
set   :mongrel_conf ,   " #{current_path}/config/mongrel_cluster.yml "
set   :mongrel_port ,   " 4000 "
set   :mongrel_nodes ,   " 4 "  
 
# new  2
namespace 
:deploy   do
 task 
:start ,   :roles   =>   :app   do
     
     
run   " cd #{current_path} && mongrel_rails cluster::configure -e production -p #{mongrel_port} -N #{mongrel_nodes} -c #{current_path}  "
     
run   " cd #{current_path} && mongrel_rails cluster::start "
     
# run   " rm -rf /home/#{user}/public_html;ln -s #{current_path}/public /home/#{user}/public_html "
     
run   " mkdir -p #{deploy_to}/shared/config "
     
run   " mv #{current_path}/config/mongrel_cluster.yml #{deploy_to}/shared/config/mongrel_cluster.yml "
     
run   " ln -s #{deploy_to}/shared/config/mongrel_cluster.yml #{current_path}/config/mongrel_cluster.yml "
     
run   " apachectl start "
   
end
end
 
# new  3
namespace 
:deploy   do  
 task 
:restart ,   :roles   =>   :app   do
    
run   " ln -s #{deploy_to}/shared/config/mongrel_cluster.yml #{current_path}/config/mongrel_cluster.yml "      
    
run   " cd #{current_path} && mongrel_rails cluster::restart "
    
run   " apachectl restart "
   
end
end
 
主要修改了#new 0 ,并删除了单实例mongrel中的spin文件
并加了3个部分,#new1,#new2,#new3
 
#new1 设置了些 与 mongrel cluster相关的变量
#new2 #new3 分别重写了deploy:start和deploy:restart任务
这样就防止了默认的任务去寻找相关的spin文件
配置文件准备就绪,然后cap setup,cap deploy:cold,cap deploy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值