SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

在tomcat下部署项目,第一次访问成功。但是发现有一个页面没有成功加载,发现是部署时少了一些东西。也不想去找出具体少了什么,直接把原来的项目移除,重新加载项目。重启tomcat,这时惊喜来了。

重启完tomcat,用浏览器访问https://XXXXXXX:8443。结果是访问请求被拒绝。

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第1张

先看防火墙状态,用systemctl status firewalld.service查看

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第2张

防火墙为关闭状态。

再看8443端口是否被占用了,用netstat -anp|grep 8443命令查看

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第3张

结果没有被占用。

然后查看tomcat日志(本人萌新,不知道怎么用tail命令查看较多行的日志)用vim查看tomcat的相关日志。

日志在tomcat下的logs文件夹中

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第4张

进入vim界面后按shift+g(即G)直接跳转到日志最后面。

看到服务启动时间,输入/16:06:..(服务启动时间,其中.是任意字符的意思)回车查找到对应的时间,按n可以查找下一个。

 Centos7下的有多个版本的tomcat部署项目并访问 Linux 第5张  Centos7下的有多个版本的tomcat部署项目并访问 Linux 第6张

找到最前面的那个报错的地方,(输入“:nohl”可以取消高亮)

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第7张

问题的原因出现了,本机的8005端口被占用了。

直接“:q!”退出vim界面。

用netstat -anp命令查看该端口被谁占用

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第8张

看到该端口被PID为26350的进程占用。

用ps -ef|grep 26350|grep -v 'grep'查看是什么进程,不重要就直接杀掉

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第9张

意识到不对,好像有两个tomcat。

 

解决方案:

用ps -ef|grep tomcat|grep -v 'grep'查看,找到两个tomcat的进程号

 Centos7下的有多个版本的tomcat部署项目并访问 Linux 第10张

确认过没人在用这台机器上的tomcat后,我直接用kill -9 [PID]的方式杀死两个tomcat进程(该测试服务器上有一个脚本,自动检测tomcat服务状态,如果为关闭状态,则一分钟后启动),

然后到项目部署的tomcat的bin目录下,调用startup.sh启动该tomcat服务(一分钟内搞定,超过时间又会有问题。这个时间问题,又干扰我好久)

Centos7下的有多个版本的tomcat部署项目并访问 Linux 第11张

先去查看日志,没问题。网页端访问,没问题。问题解决。

当然更好的解决办法是修改tomcat的配置文件,但是这台测试服务器不止我一个人用,所以不敢乱改。。。

 

总结:养成看日志的好习惯,遇到问题先去看它的相关日志,这能节约不少时间。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄