<分区>
我正在设置一个网络应用程序环境来运行 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实例时Tomcat启动正常,但是重启失败抛出上述异常。
这里可能有什么问题?如何检查端口 8005 是否实际打开?