【问题标题】:tomcat refresh directory after capistrano deploymentcapistrano部署后tomcat刷新目录
【发布时间】:2012-08-16 10:53:41
【问题描述】:

我已成功配置 capistrano 以在 tomcat 虚拟主机中更新我的 Coldfusion 项目。

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

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

【问题讨论】:

  • 你是真的重新部署了 webapp 本身,还是只是在 Capistrano 中更新了一些东西?
  • @ChristopherSchultz 我用 cap deploy 命令更新了代码,所以 capistrano 将当前链接更改为新的发布/目录

标签: tomcat capistrano


【解决方案1】:

正如 Tomcat 的文档所说:

“如果对 docBase 使用符号链接,则对符号链接的更改只有在 Tomcat 重新启动或取消部署和重新部署上下文后才会生效。重新加载上下文是不够的。”

所以以标准方式使用capistrano不起作用,需要重新启动tomcat。

解决方法是将“生产”目录放在部署目录中,并在部署后与当前目录同步:

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

这样就不需要重启Tomcat了。

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多