记:一次tomcat启动无法访问8080端口的问题

买了个腾讯云服务器,之前安装过openjdk,运行了docker,都没什么问题。

但是,最近安装了个tomcat,启动未报错,但是起来后发现无法访问8080端口。

首先排除了端口占用问题,因为我没有其他应用程序使用这个端口

其次排除了端口开放问题,我的nginx启动是可以正常访问的,并且防火墙根本没开。

接着开始检查输入以下命令发现:

ps -ef|grep java

root      2659 28686  0 17:18 pts/0    00:00:00 grep --color=auto java
root   *********** 明显不是tomcat ******



ps -ef|grep tomcat

root      2821 28686  0 17:18 pts/0    00:00:00 grep --color=auto tomcat

正常情况:

ps -ef|grep java

root      2355     1 31 17:18 pts/0    00:00:03 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.65/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-8.5.65 -Dcatalina.home=/root/apache-tomcat-8.5.65 -Djava.io.tmpdir=/root/apache-tomcat-8.5.65/temp org.apache.catalina.startup.Bootstrap start
root      2659 28686  0 17:18 pts/0    00:00:00 grep --color=auto java




ps -ef|grep tomcat

root      2355     1 19 17:18 pts/0    00:00:03 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.65/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-8.5.65 -Dcatalina.home=/root/apache-tomcat-8.5.65 -Djava.io.tmpdir=/root/apache-tomcat-8.5.65/temp org.apache.catalina.startup.Bootstrap start
root      2821 28686  0 17:18 pts/0    00:00:00 grep --color=auto tomcat

这就发现异常情况了。

然后尝试关闭tomcat

./shutdown.sh

Using CATALINA_BASE:   /root/apache-tomcat-8.5.65
Using CATALINA_HOME:   /root/apache-tomcat-8.5.65
Using CATALINA_TMPDIR: /root/apache-tomcat-8.5.65/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
Using CLASSPATH:       /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar
Using CATALINA_OPTS: /root/soft/tomcat/apache-tomcat-7.0.57/bin/catalina.sh: line 385: soft/jdk/jdk1.7.0_71/jre/bin/java: 文件或目录不存在

看起来是jdk环境变量的配置出错了。

检查以下jdk环境变量配置:

java -version
正常

java
正常

javac
找不到命令

好像jdk环境变量配置确实有问题,但是检查/etc/profile中的配置又没发现有啥问题,于是去网上找了个方案

yum install java-1.8.0-openjdk-devel

由于我之前安装的是 1.8.0_242 这次安装相当于升级到了 1.8.0_282

再次输入命令检查 java javac java -version 都正常了。

然后再尝试关闭tomcat,还是一样报错。

然后想起jdk变了,/etc/profile 里面配置的 %JAVA_HOME%还没改呢,于是改了下环境变量配置(其实也就改了下 %JAVA_HOME%的路径)。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

然后使配置生效

source /etc/profile

再使用shutdown命令关闭tomcat

[root@VM_0_8_centos bin]# ./shutdown.sh 
Using CATALINA_BASE:   /root/apache-tomcat-8.5.65
Using CATALINA_HOME:   /root/apache-tomcat-8.5.65
Using CATALINA_TMPDIR: /root/apache-tomcat-8.5.65/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
Using CLASSPATH:       /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
四月 17, 2021 5:18:19 下午 org.apache.catalina.startup.Catalina stopServer
严重: Could not contact [localhost:8005]. Tomcat may not be running.
四月 17, 2021 5:18:19 下午 org.apache.catalina.startup.Catalina stopServer
严重: Catalina.stop: 
java.net.ConnectException: 拒绝连接 (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:607)
        at java.net.Socket.connect(Socket.java:556)
        at java.net.Socket.<init>(Socket.java:452)
        at java.net.Socket.<init>(Socket.java:229)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:504)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:388)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)

拒绝连接?那就是没启动嘛!

./startup.sh

[root@VM_0_8_centos bin]# ./startup.sh 
Using CATALINA_BASE:   /root/apache-tomcat-8.5.65
Using CATALINA_HOME:   /root/apache-tomcat-8.5.65
Using CATALINA_TMPDIR: /root/apache-tomcat-8.5.65/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
Using CLASSPATH:       /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

启动成功

ps命令查看

[root@VM_0_8_centos bin]# ps -ef|grep java
root      2355     1 31 17:18 pts/0    00:00:03 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.65/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-8.5.65 -Dcatalina.home=/root/apache-tomcat-8.5.65 -Djava.io.tmpdir=/root/apache-tomcat-8.5.65/temp org.apache.catalina.startup.Bootstrap start
root      2659 28686  0 17:18 pts/0    00:00:00 grep --color=auto java
[root@VM_0_8_centos bin]# ps -ef|grep tomcat
root      2355     1 19 17:18 pts/0    00:00:03 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.65/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /root/apache-tomcat-8.5.65/bin/bootstrap.jar:/root/apache-tomcat-8.5.65/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-8.5.65 -Dcatalina.home=/root/apache-tomcat-8.5.65 -Djava.io.tmpdir=/root/apache-tomcat-8.5.65/temp org.apache.catalina.startup.Bootstrap start
root      2821 28686  0 17:18 pts/0    00:00:00 grep --color=auto tomcat

一切正常

访问8080端口成功!

 

根据情况和解决方式来看就是jdk环境变量的配置问题,但是至少我是没发现哪里有问题的,我还根据他提示的找不到文件或目录的那个路径查了一遍,明明就有。也不知道是我看走眼了还是啥问题,反正解决了就可以继续下面的事了,记录一下,以后有需要好找。

回答: 如果Tomcat无法打开8080端口,可能有几个原因。首先,您需要确保Tomcat的环境变量已正确配置,并且与JDK搭配使用。您可以通过在命令提示符中输入"startup"来检查Tomcat是否成功安装并配置了正确的环境变量。如果启动Tomcat时没有出现闪退的情况,说明Tomcat的环境配置没有错误。然后,您可以尝试在浏览器中输入"http://localhost:8080"来访问Tomcat。如果出现"Cannot locate document: /"的错误提示,很可能是8080端口被占用了。您可以尝试修改Tomcat服务器的端口来解决此问题。具体操作流程是在Tomcat的配置文件中找到"Connector"标签,将其中的"port"属性修改为其他未被占用的端口号。保存配置后,重启Tomcat服务器,然后再次访问"http://localhost:8080",应该能够正常访问Tomcat了。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [使用Tomcat过程中遇到无法访问http:localhost:8080的解决方法](https://blog.youkuaiyun.com/qq_52082940/article/details/122609949)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Tomat安装之后http://localhost:8080无法访问最全解决方案](https://blog.youkuaiyun.com/vagatable_XX/article/details/121580764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值