capistrano部署后的tomcat刷新目录

问题描述:

我成功配置了capistrano来更新Tomcat虚拟主机内部的Coldfusion项目。capistrano部署后的tomcat刷新目录

问题是,Tomcat没有看到由capistrano链接的新“当前”目录,tomcat查看旧的目录。

有没有办法说tomcat刷新目录查找文件?唯一的解决方案是重新启动tomcat,我想在每次部署后避免这种情况。

+0

你真的重新部署了webapp本身,还是只是更新Capistrano内的东西? – 2012-08-16 12:11:28

+0

@ChristopherSchultz我使用cap deploy命令更新代码,因此capistrano将当前链接更改为新版本/目录 – 2012-08-16 15:22:14

比如Tomcat的文件建立说:

“如果一个符号链接用于的docBase然后改到符号链接只会是一个Tomcat重新启动后或取消部署和重新部署,建立有效的上下文重装是不够“。

因此,以标准方式使用capistrano无法正常工作,需要重新启动tomcat。

一个解决办法是把部署目录和rsync内“生产”目录与当前的部署后:

task :after_deploy do 
    run "rsync -a #{release_path}/* /your/www/directory/production/" 
end 

有了这个它并不需要重新启动Tomcat。