java - Tomcat无法连接8005端口

标签 java linux amazon-web-services ubuntu tomcat

<分区>

我正在设置一个网络应用程序环境来运行 Java 应用程序。 环境应该是:

  • AWS EC2 Ubuntu
  • Java 8
  • Tomcat 9

我启动了一个 EC2 实例并安装了 java,然后我按照这个指南来设置 Tomcat: https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804

systemctl 尝试启动/重新启动 Tomcat 服务时,问题就出现了。这是我在查看 systemctl 日志时看到的内容:

Dec 19 13:35:25 ip-10-165-10-74 systemd[1]: Started Apache Tomcat Web Application Container.
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: Dec 19, 2018 1:35:26 PM org.apache.catalina.startup.Catalina stopServer
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: SEVERE: Could not contact [localhost:8005] (base port [8005] and offset [0]). Tomcat may not be running.
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: Dec 19, 2018 1:35:26 PM org.apache.catalina.startup.Catalina stopServer
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: SEVERE: Error stopping Catalina
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: java.net.ConnectException: Connection refused (Connection refused)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.PlainSocketImpl.socketConnect(Native Method)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.Socket.connect(Socket.java:589)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.Socket.connect(Socket.java:538)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.Socket.(Socket.java:434)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.net.Socket.(Socket.java:211)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:513)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at java.lang.reflect.Method.invoke(Method.java:498)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:403)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]:         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)
Dec 19 13:35:26 ip-10-165-10-74 shutdown.sh[1725]: The stop command failed. Attempting to signal the process to stop through OS signal.
Dec 19 13:35:27 ip-10-165-10-74 shutdown.sh[1725]: Tomcat stopped.

据我了解,这里的问题是 Tomcat 无法连接到 8005 端口以监听关闭命令。

但是,我在 EC2 安全组控制台中打开了这个端口: enter image description here

另一个奇怪的是重启ec2实例时Tomcat启动正常,但是重启失败抛出上述异常。

这里可能有什么问题?如何检查端口 8005 是否实际打开?

最佳答案

如果您在 Windows 上运行,则会有一个内置的资源监视器来查看已使用的端口。

您应该能够在以下位置找到它:

开始 >> 所有程序 >> 附件 >> 系统工具 >> 资源监视器

然后您所要做的就是查找 8005 的可用性及其状态,

如果您在 Mac/Linux 系统上运行,那么我会在命令提示符下使用 netstat 来检查。

您也可以执行 $netstat -a 查看当前正在使用的所有套接字。

关于java - Tomcat无法连接8005端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53852550/

相关文章:

java - 查找启动 Java 应用程序的 jnlp 文件 (Java Web Start)

amazon-web-services - Chrome/Firefox 浏览器因 AWS Sagemaker 和 Jupyter 而崩溃 - 如何记录/调试?

java - 用于基本文件系统的数据结构

linux - 计算Linux中进程的空闲度

c - 多线程 epoll

linux - 在 jenkinsfile 中使用命令 sh 的正确语法

php - AWS S3 CopyObject 版本

django - Elastic Beanstalk 上的 Django 中的定期任务(可能使用 celerybeat)

java - 关于检查客户端是否与服务器套接字断开连接

java - 某些jsp页面的间歇性Tomcat ClassNotFoundException