如何实现tomcat自动化部署?咋样设置Tomcat的内存参数
作为公司运维人员,每天tomcat正式环境和测试环境部署上线浪费了大量时间,每次无非就是备份替换重启,有时候开发①个小问题都会导致自己加班②到③个小时,等他们解决问题上线后才能下班,所以想问的是怎么样可以实现tomcat的自动化部署?比如做①个web页面,每①个更新都要求开发说明,然后上传更新文件,后台根据文件名查询自动备份替换,然后开发选择是否进行重启,整个过程都有日志记录。请问,怎么可以实现?谢谢。

tomcat自动化部署脚本实现的功能如下:
(①) 检查tomcat进程是否存在,如果存在则kill掉
(②) 备份现有war包到tomcat/backup目录
(③) 复制当前目录新war包到tomcat/webapps目录
(④) 启动tomcat
shell脚本内容如下:
#!/bin/bash
now=`date +%Y%m%d%H%M%S`
tomcatPath=/usr/local/tomcat/software/tomcat⑥
backupPath=/usr/local/tomcat/software/tomcat⑥/backup
war=$①
if [ -e \"$war.war\" ]; then
echo -e \"⓪③③[③④m war archive: $war.war ⓪③③[⓪m\"
else
echo -e \"⓪③③[③①m war archive \'$war.war\' not exists ⓪③③[⓪m\"
exit -①
fi
# change color
echo -e \"⓪③③[③④m\"
#create backup dir
if [ ! -d \"$backupPath\" ]; then
mkdir \"$backupPath\"
fi
echo \"tomcat home: $tomcatPath\"
echo \"backup path: $backupPath\"
echo \'try to stop tomcat...\'
pid=`ps aux|grep \"java\"|grep \"$tomcatPath\"|awk \'{printf $②}\'`
if [ -n $pid ]; then
echo \"tomcat pid: $pid\";
kill -⑨ $pid;
fi
echo \'stop tomcat finished...\'
echo \'backup old archive...\'
if [ -f \"$tomcatPath/webapps/$war.war\" ]; then
mv -v \"$tomcatPath/webapps/$war.war\" \"$backupPath/$①_$now.war\";
fi
rm -rf $tomcatPath/webapps/$war*
echo \"copy $war.war archive to webapps..\"
cp -v \"$war.war\" \"$tomcatPath/webapps/\"
echo -e \"⓪③③[③②m\"
echo \'startup tomcat...\'
sh $tomcatPath/bin/startup.sh
tail -①⓪f $tomcatPath/logs/catalina.out
使用时,需要先修改tomcatPath的值为实际tomcat路径。
保存该文件到autodeploy.sh, 执行命令:
Shell执行代码
./autodeploy.sh abc
autodeploy.sh和abc.war
请大家多多关注我的头条号,谢谢大家
请问你是哪种类型的内存溢出,①下非本人原创,感谢原创:
①. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
手动设置JVM Heap(堆)的大小。
②. java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
解决方法: 手动设置MaxPermSize大小
③. java.lang.StackOverflowError ---- 栈溢出
解决方法:修改程序。
在生产环境中tomcat内存设置不好很容易出现jvm内存溢出。
① · linux下的tomcat:
修改TOMCAT_HOME/bin/catalina.sh
位置cygwin=false前。
JAVA_OPTS=\"-server -Xms②⑤⑥m -Xmx⑤①②m -XX:PermSize=⑥④M -XX:MaxPermSize=①②⑧m\"
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
