最近遇到2个问题蛮纠结,经蔡老师指点,顺利解决了。^_^
tomcat部署过程
部署更新的时候,先将eclipse工程打包成war包,在服务器上删除原先整个目录,使用bin/start.sh,解压war包,启动服务。
在这个过程中,webContent里面的内容会复制到webapps目录下对应的工程文件夹。
矛盾的地方
有时候webContent里面的文件很多,有几个GB,如果直接复制,需要很长时间。
解决办法:linux软连接
Linux环境下,可以使用软连接的方式来解决这个问题,将webapps目录中的子文件夹,配置软连接到源目录,这样就省的每次war 包解压以后重新复制内容了。软连接,其实就类似Windows下的快捷方式。
具体过程:
1,配置tomcat支持软连接
tomcat默认是禁止软链接的,不过可以设置,也就是一句话。
eclipse里打开Servers文件夹,选择context.xml 文件,在Context 里加上属性: allowLinking="true"
<Context allowLinking="true" > </Context>
如图所示:


2,设置软连接路径
//命令格式
ln -s [源文件或目录] [目标文件或目录]
//当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test test
attachment -> /mnt/disk2/OAFiles/attachment
document -> /mnt/disk2/OAFiles/document
unknown -> /mnt/disk2/OAFiles/unknown
软连接配置命令
ln -s /mnt/disk2/OAFiles/attachment ./attachment

Tomcat增量更新
只需要更新修改的class文件就好了,其他内容可以不需要更新。
Eclipse目录/build目录,选择对应的.class文件,在部署目录下,替换对应的文件,然后重启一下即可。下次程序执行的时候,就会使用新的class文件。
有时候可以直接使用,有时候需要重启一下,还是重启一下保险。
参考链接:
tomcat访问webapp下面工程的文件含有软连接
https://blog.csdn.net/levisk/article/details/81450511
Linux系统硬链接和软链接
https://www.cnblogs.com/songgj/p/9115954.html
linux 软连接的使用
https://www.cnblogs.com/sueyyyy/p/10985443.html
tomcat替换class后不生效
https://blog.csdn.net/lyd135364/article/details/89218908
tomcat替换.class文件并没有生效的原因(失效原因)(转)
https://www.cnblogs.com/jpfss/p/7274178.html
本文介绍了如何优化Tomcat的部署过程,包括利用Linux软连接避免长时间的文件复制,以及实现Tomcat的增量更新,只需替换修改的class文件,以提高效率和减少停机时间。

被折叠的 条评论
为什么被折叠?



