遇到怪事了

2016-02-17 14:31:00 +08:00
 uxstone

digitalocean 部署 tomcat
终端显示启动成功,但无法访问 tomcat 首页,
关闭时遇到

Feb 17, 2016 1:29:34 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Feb 17, 2016 1:29:34 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: 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:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:476)
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:497)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)

不能访问 tomcat 首页了....
同样的设置在本地就可以,
为这事把 VPS 重装了系统,只装了 jdk 和 tomcat,环境变量也配了
有谁遇到过吗?

9104 次点击
所在节点    问与答
26 条回复
hcymk2
2016-02-17 14:44:43 +08:00
先 ps 看下 tomcat 的那个进程在不在,估计是不在了。
如果在直接 kill ,之后再 startup 。
之后在 vps 上 curl 下 tomcat 的首页。
hcymk2
2016-02-17 14:47:21 +08:00
还有能贴下启动的日志么?我觉得是没启动成功。
uxstone
2016-02-17 14:57:16 +08:00
@hcymk2
uxstone@ux1:~/tomcat/bin$ ./startup.sh
Using CATALINA_BASE: /home/uxstone/tomcat
Using CATALINA_HOME: /home/uxstone/tomcat
Using CATALINA_TMPDIR: /home/uxstone/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/jdk1.8.0_73/jre
Using CLASSPATH: /home/uxstone/tomcat/bin/bootstrap.jar:/home/uxstone/tomcat/bin/tomcat-juli.jar
Tomcat started.
uxstone
2016-02-17 14:59:36 +08:00
@hcymk2
执行了 curl -X GET http://127.0.0.1:8080
光标一直闪,没反应.
hcymk2
2016-02-17 14:59:54 +08:00
@uxstone
说错了 是贴下启动时 catalina.out 的内容。
uxstone
2016-02-17 15:09:18 +08:00
hcymk2
2016-02-17 15:13:42 +08:00
@uxstone
私有的啊。。。。
uxstone
2016-02-17 15:18:39 +08:00
kingwrcy
2016-02-17 15:20:56 +08:00
java.net.BindException: Address already in use

8080 被用了吧?换个端口?
hcymk2
2016-02-17 15:22:39 +08:00
@uxstone
["http-nio-8080"]
17-Feb-2016 01:32:35.845 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-8080"]
java.net.BindException: Address already in use
看到了


先改下端口吧 ajp 如果不用可以先注释掉。
uxstone
2016-02-17 15:26:51 +08:00
@hcymk2 @kingwrcy
把 8080 改成 8081,还是不能用,
我都把 VPS 系统重装了,
只安装了 JDK 和 tomcat ,
hcymk2
2016-02-17 15:34:11 +08:00
那你看下 vps 上现在有进程在 8080 端口么?
uxstone
2016-02-17 15:44:14 +08:00
@hcymk2
lsof -i:8080
netstart -ap |grep 8080

都没有发现占用 8080
hcymk2
2016-02-17 15:48:18 +08:00
你远程直接 telnet 你的 vps 的 8080 这可真是怪了。
uxstone
2016-02-17 15:48:58 +08:00
@hcymk2
执行./shutdown.sh
不能关闭 tomcat
显示
SEVERE: Could not contact localhost:8005. Tomcat may not be running.

但我看 tomcat 又的确是运行的
hcymk2
2016-02-17 16:02:11 +08:00
不是的那个只是进程在。但是 Server 都没起起来, Connector 当然没有创建。
所以是访问不了首页的。
你远程 telnet vpsip:8080 有什么结果?
magicsilence
2016-02-17 16:05:02 +08:00
1. 杀进程, kill -9
2. 改端口, 不只是 8080 ,还有其他的。
3. 重启
uxstone
2016-02-17 16:05:13 +08:00
@hcymk2
telnet: could not resolve 104.236.174.176:8080/telnet: Name or service not known
hcymk2
2016-02-17 16:10:27 +08:00
错了 是 telnet 104.236.174.176 8080
我可以打开了
uxstone
2016-02-17 16:18:09 +08:00
@hcymk2

刚才弄好了,不是端口问题,现在可以访问了
是 jdk 的一个 bug

找到 jdk1.x.x_xx/jre/lib/security/java.security 这个文件

把 securerandom.source 设置成
securerandom.source=file:/dev/./urandom

具体的请参考这篇博客(非本人的博客,只是引用一下):
http://blog.csdn.net/njchenyi/article/details/46641141



从百度上搜到的,问题和我一样,想在 digitalocean 上撘 tomcat 失败,

早上 google 到了 /dev/./urandom
但全英文,没看懂. 就略过了 (英文还是很重要的)

我怕有莫名其妙的的端口占用,都把系统重装了,
被这问题倒腾了一天

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/257064

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX