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,环境变量也配了
有谁遇到过吗?
1 hcymk2 2016-02-17 14:44:43 +08:00 先 ps 看下 tomcat 的那个进程在不在,估计是不在了。 如果在直接 kill ,之后再 startup 。 之后在 vps 上 curl 下 tomcat 的首页。 |
2 hcymk2 2016-02-17 14:47:21 +08:00 还有能贴下启动的日志么?我觉得是没启动成功。 |
3 uxstone OP @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. |
6 uxstone OP |
8 uxstone OP |
9 kingwrcy 2016-02-17 15:20:56 +08:00 java.net.BindException: Address already in use 8080 被用了吧?换个端口? |
10 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 如果不用可以先注释掉。 |
11 uxstone OP |
12 hcymk2 2016-02-17 15:34:11 +08:00 那你看下 vps 上现在有进程在 8080 端口么? |
14 hcymk2 2016-02-17 15:48:18 +08:00 你远程直接 telnet 你的 vps 的 8080 这可真是怪了。 |
15 uxstone OP @hcymk2 执行./shutdown.sh 不能关闭 tomcat 显示 SEVERE: Could not contact localhost:8005. Tomcat may not be running. 但我看 tomcat 又的确是运行的 |
16 hcymk2 2016-02-17 16:02:11 +08:00 不是的那个只是进程在。但是 Server 都没起起来, Connector 当然没有创建。 所以是访问不了首页的。 你远程 telnet vpsip:8080 有什么结果? |
![]() | 17 magicsilence 2016-02-17 16:05:02 +08:00 1. 杀进程, kill -9 2. 改端口, 不只是 8080 ,还有其他的。 3. 重启 |
18 uxstone OP @hcymk2 telnet: could not resolve 104.236.174.176:8080/telnet: Name or service not known |
19 hcymk2 2016-02-17 16:10:27 +08:00 错了 是 telnet 104.236.174.176 8080 我可以打开了 |
20 uxstone OP @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 但全英文,没看懂. 就略过了 (英文还是很重要的) 我怕有莫名其妙的的端口占用,都把系统重装了, 被这问题倒腾了一天 |
21 hcymk2 2016-02-17 16:26:25 +08:00 |
23 uxstone OP @hcymk2 我仔细想了想,这也不算是 bug, 我在 digitalocean 买的是最低配置的 vps,内存只有 512M 而本机是 8G 内存,阿里云上是 1G 内存都能运行 tomcat 所以唯一有差别的就是内存这块了 这可能是 jvm 根据系统内存在某个方面的设置导致了我不能运行 tomcat |
24 ttw789 2016-02-17 17:27:01 +08:00 同样的题我遇, 也是 digitalocean ; 把程 kill 掉, 以 root 用户 或 sudo 启 tomcat 就好了; -- 之前查了好久, 最後忘在哪看到的了, 好像是 digitalocean 的什么限制之的原因 |