dev环境tomcat发布和维护
一、环境准备
1、选择一款远程工具连接到服务器
2、准备一款ftp软件连接到服务器
二、tomcat搭建
》、进入 /opt/tars 目录,按照 appId 创建文件夹,例如 /opt/tars/10398。
》、将 S:\研发中心\开发部\tools\Java\apache-tomcat-8.5.51.tar.gz(或通过tomcat官网下载对应的版本) 通过 ftp 放到服务器的 /download 目录下(可能已经放好了),
执行解压缩命令(如果不是服务器上解压缩,文件权限可能会丢失):tar zxvf /download/apache-tomcat-8.5.51.tar.gz -C /opt/tars/应用Id/,然后将解压缩后的 apache-tomcat-8.5.51 改名为 tomcat,删除 tomcat/webapps 目录内的所有内容。
》、修改配置文件 tomcat/conf/server.xml 中的3个端口,修改端口号参考 应用Id,例如应用Id为 10398。
1)第一个端口号:
<Server port="30398" shutdown="SHUTDOWN">
例如8005,改为 30398,第一为3。
2)第二个端口号:
<Connector port="10398" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
例如8088,改为 10398,第一为1。
3)第三个端口号(如果是注释掉的,就不用管,官方默认是注释掉的):
<Connector protocol="AJP/1.3"
address="::1"
port="20398"
redirectPort="8443" />
例如8009,改为 20398,第一为2。
以上3个端口不允许和别的tomcat 有重复,否则tomcat则启动不成功。
》、tomcat调优,对于对内存消耗较大,容易内存溢出的应用,可以考虑调整 jvm参数,
将 S:\研发中心\开发部\tools\Java\setenv.sh 复制到 tomcat/bin 下。
三、上传 war 包
》打包
编辑IDEA:
新增 Maven,在 Command line 输入:clean install -Dmaven.test.skip=true
保存并选择配置,点击运行
打包成功后会自动退出,找到war包地址,然后改名为 ROOT.war
》上传到服务器上的tomcat
将 ROOT.war 上传到 /opt/tars/应用Id/tomcat/webapps 目录。
四、启停tomcat
如果应用启动中,需要先尝试停止。
停止:/opt/tars/10398/tomcat/bin/shutdown.sh
停止:/opt/tars/10398/tomcat/bin/catalina.sh stop -force(强制停止,5秒后使用kill强制关闭,如果因应用线程繁忙而未能关闭掉,可手动找到进程pid,强制 kill -9 pid,参考下面介绍)
启动:/opt/tars/10398/tomcat/bin/startup.sh(执行后,可通过 tail -f /opt/tars/10398/tomcat/logs/catalina.out 查看启动日志)
调试:/opt/tars/10398/tomcat/bin/catalina.sh run(用于查看和分析启动参数和滚动日志,退出控制台后tomcat进程会被杀掉)
如果执行权限不足,则脚本赋予执行权限:
chmod 777 startup.sh
chmod 777 shutdown.sh
chmod 777 catalina.sh
》观察应用情况
启动后会自动滚动日志,日志在 tomcat/logs 请负责人确认启动成功,或单独观察日志:tail -f /opt/tars/10398/tomcat/logs/catalina.out。
快速排查dev错误日志:例如这是查询某订单中心相关错误日志,是以ERROR开头且100111338113订单号结尾的错误日志,快速定位位置,也可以更换其他关键字:
less /opt/tars/10398/tomcat/logs/catalina.out | egrep "ERROR.*100111338113"
查看所有运行中的tomcat应用,例如查看10开头的端口号(应用Id)列表:netstat -tulp|grep :10,
根据pid查看进程的详细情况:ps -aux | grep 9550
对于假死进程(存在进程,但应用又无法正常访问),需要先找到相关端口占用,可针对具体应用查看,例如针对10398应用:netstat -tulp|grep 398:
一般用这个命令验证 ps -ef|grep 10239
然后强行杀掉所有占用端口的进程(有可能占用2个端口号的进程不是同一个):kill -9 pid
》配置路由
为了微服务可以通过域名访问,需要联系架构组,在服务治理中新增路由。
》加入开机启动
编辑 /etc/rc.d/rc.local 文件,加入tomcat启动脚本,例如:
vim /etc/rc.d/rc.local,按 i,进入插入模式,在最后换行加入:
/opt/tars/10398/tomcat/bin/startup.sh,ESC,:wq 保存并退出。