HCRM博客

CentOS 7 Tomcat 8080端口访问故障排查指南

CentOS 7安装Tomcat后localhost:8080无法访问排查流程

浏览器里输入localhost:8080,页面却一片空白,Tomcat明明刚装完,服务也启动了,就是打不开。别急着重装,把下面这套流程跑一遍,九成问题都能定位。

CentOS 7 Tomcat 8080端口访问故障排查指南-图1

先确认Tomcat到底起没起

很多人看到“启动成功”就关终端,其实日志里可能藏着端口冲突。跑一条:

ps -ef | grep java

如果只看到一条grep本身,说明进程根本没起来。再敲:

systemctl status tomcat

Active: failed直接给出失败原因,照着改就行。若Active: running,继续看端口:

CentOS 7 Tomcat 8080端口访问故障排查指南-图2

netstat -tnlp | grep 8080

没回显就是端口没监听,Tomcat还在启动途中或已经崩溃,去$CATALINA_HOME/logs/catalina.out翻最新异常,OutOfMemory、Permission denied、Address already in use这三样最常见。

防火墙把8080吃了

CentOS 7默认firewalld是开着的,8080不在白名单。两条命令搞定:

firewall-cmd --permanent --add-port=8080/tcp

firewall-cmd --reload

CentOS 7 Tomcat 8080端口访问故障排查指南-图3

再访问,如果瞬间出猫,说明就是墙的问题。别图省事直接systemctl stop firewalld,生产环境这么干等于裸奔。

SELinux拦了一道

日志里看见“Permission denied”但权限明明777,八成是SELinux。临时关:

setenforce 0

立刻能访问就把策略写永久:

semanage port -a -t httpportt -p tcp 8080

不想装semanage,用yum装policycoreutils-python-utils。记得setenforce 1再开回去,安全与功能两手抓。

server.xml配错地址

有人图安全,把Connector地址改成127.0.0.1,结果远程访问不到;也有人手滑写成localhost结果本机也打不开。核对:

vi $CATALINA_HOME/conf/server.xml

找到<Connector port="8080" ... />,确认address属性要么删掉,要么写0.0.0.0。改完重启:

systemctl restart tomcat

JDK版本对不上

Tomcat 10要求JDK 11以上,CentOS 7默认yum给的openjdk 1.8。启动日志里若出现“UnsupportedClassVersionError”,直接升级:

yum install java-11-openjdk-devel

再改环境变量:

echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> /etc/profile

source /etc/profile

重启服务,版本冲突秒消失。

端口被别的程序抢走

有时8080被Nginx、Docker甚至另一个Tomcat占用。lsof一把梭:

lsof -i :8080

看到非java进程,就考虑换端口或停掉对方。改端口在server.xml里把8080换成8888,防火墙、SELinux策略同步加一遍,别只改一半。

本地hosts文件作怪

少数情况,localhost被指向奇怪地址。ping一把:

ping -c 2 localhost

如果返回::1 IPv6地址,而Tomcat只监听IPv4,就把/etc/hosts里这一行:

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

注释掉,再试。

systemd启动脚本缺参数

自己写的tomcat.service没加

Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk

会导致服务起是起了,变量不对,应用起不来。检查:

systemctl cat tomcat

缺啥补啥,重载:

systemctl daemon-reload

再启动。

一次排不完,记得看日志

Tomcat的日志分三块:catalina.out、localhost.log、manager.log。页面空白优先看catalina.out;应用部署失败看localhost.log;用户登录失败看manager.log。日志比百度更懂你。

走完流程还打不开?

把上面九步按顺序打钩,九成九能解决。若仍不行,把catalina.out最后五十行贴出来,对照异常栈一行行搜,基本都能翻到答案。再不行,换个机器重装,问题不在Tomcat,就在操作系统。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41687.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~