您的位置:首页 > 运维架构 > Tomcat

让tomcat支持软连接,实现快速回滚

2016-07-25 23:31 477 查看
【场景描述】

你是否遇到过这种情况,要重新发布一个项目,得作如下操作:

1、先把tomcat关掉;

2、删掉tomcat下的项目文件(按需备份),把war包放在tomcat对应正确路径下解压;

3、重启tomcat,重启后发现部署失败代码有问题则执行4,否则结束。

4、部署出错,赶紧关闭tomcat,把上一个版本/备份拷回来,再重启tomcat,结束。

。。。是不是觉得太low?这里tomcat关闭重启的时间太长了,并且有可能要来回拷贝解压两次~!不能忍,来巧妙使用tomcat+软连接,轻松解决两个问题,逼格高高的~

【解决思路】

1、将war包解压到特定目录下解压,比如/var/webapps/项目名/时间戳;

2、关闭tomcat;

3、删除tomcat下的项目文件(无需备份,因为是软连接),用软连接的方式复制1解压的文件到tomcat目录下;

4、重启tomcat,重启后发现部署失败代码有问题则执行5,否则结束。

5、部署出错,关闭tomcat,删除软连接,重建软连接指向/var/webapps/项目名/上一个时间戳,重启tomcat,结束。

怎么样?tomcat关闭重启的时间基本看手速了,war包也只需拷贝解压一次。写成脚本来运行,风味更佳。

【遇到的问题】

1、要让tomcat支持软连接,需要在tomcat配置文件conf/context.xml里追加allowLinking="true"(tomcat8开始配置有变),具体如下配置:

<!-- Tomcat 7: -->
<Context allowLinking="true" />

<!-- Tomcat 8: -->
<Context>
<Resources allowLinking="true" />
</Context>


【资料】

1、让tomcat支持软连接:http://tomcat.apache.org/migration-8.html

未完待续~。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息