2012-08-16 57 views
1

我成功配置了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

回答

2

比如Tomcat的文件建立說:

「如果一個符號鏈接用於的docBase然後改到符號鏈接只會是一個Tomcat重新啓動後或取消部署和重新部署,建立有效的上下文重裝是不夠「。

因此,以標準方式使用capistrano無法正常工作,需要重新啓動tomcat。

一個解決辦法是把部署目錄和rsync內「生產」目錄與當前的部署後:

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

有了這個它並不需要重新啓動Tomcat。