我使用tar-ball通过wget安装了Tomcat 6。 服务器的启动是好的,但在关机时,我得到一个超时exception。
root@88:/usr/local/tomcat/logs# /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar 30-Mar-2010 17:33:41 org.apache.catalina.startup.Catalina stopServer SEVERE: Catalina.stop: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) ...
我读这可能是因为我有一个防火墙阻止closures端口(8005)上的传入连接。 我有一个默认的Ubuntu 9.04安装在VPS上运行,在我的iptables中没有规则。 我怎么知道这个端口是否被阻塞? 如何检查服务器是否正在监听8005上的连接?
奇怪的ping本地主机或我的服务器的IP失败从服务器本身,而从另一台计算机ping我的服务器的IP成功。
——– 编辑 ——–(回复Davey)
感谢所有的提示和build议!
netstat -nlp
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 9611/java tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 28505/mysqld tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 9611/java tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
…
所以我们可以看到,tomcat正在监听,我似乎无法达到它。
root@88:/usr/local/tomcat# telnet localhost 8005 Trying 127.0.0.1...
尝试telnet到端口无限期地挂起。 我在我的iptables没有规则,所以我不认为这是一个防火墙的东西。
root@88:/usr/local/tomcat# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
这是/ etc / hosts的内容
127.0.0.1 localhost.localdomain localhost # Auto-generated hostname. Please do not remove this comment. 88.198.31.14 88.198.31.14 88 88
但我仍然不能ping本地主机…我需要检查一个回环设备启用正确或什么? (我不确定如何做,如果你确实说:)是)。
root@88:/usr/local/tomcat# ping localhost PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 7 packets transmitted, 0 received, 100% packet loss, time 5999ms
试图找出回路configuration为什么;
root@88:~# ifconfig lo lo Link encap:Local Loopback LOOPBACK MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
解决scheme,谢谢DAVEY
我需要调出接口(不知道为什么它没有运行)。 ifconfig的窍门。
root@88:~# ifconfig lo up root@88:~# ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@88:~# ping localhost PING localhost.localdomain (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.025 ms
再次感谢,
GAV
命令netstat -nlp会显示你正在监听的内容:
]# netstat -nlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 13940/java tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 13940/java tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 13940/java tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3377/sshd
tomcat进程的pid上的lsof命令将显示类似的内容:
java 13940 root 35r CHR 1,9 942 /dev/urandom java 13940 root 36r CHR 1,9 942 /dev/urandom java 13940 root 38u IPv4 31050 TCP *:8009 (LISTEN) java 13940 root 39u IPv4 31053 TCP 127.0.0.1:8005 (LISTEN)
当你运行shutdown.sh你应该看到stream量到端口8005:
[root@test001 ~]# tcpdump -i lo 'port 8005' tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes 20:11:22.168395 IP test001.36696 > test001.8005: S 2859727005:2859727005(0) win 32792 <mss 16396,sackOK,timestamp 20428874 0,nop,wscale 7> 20:11:22.168922 IP test001.8005 > test001.36696: S 2855491174:2855491174(0) ack 2859727006 win 32768 <mss 16396,sackOK,timestamp 20428874 20428874,nop,wscale 7> 20:11:22.168598 IP test001.36696 > test001.8005: . ack 1 win 257 <nop,nop,timestamp 20428874 20428874> 20:11:22.171127 IP test001.36696 > test001.8005: P 1:2(1) ack 1 win 257 <nop,nop,timestamp 20428877 20428874> 20:11:22.171144 IP test001.8005 > test001.36696: . ack 2 win 256 <nop,nop,timestamp 20428877 20428877> 20:11:22.171443 IP test001.36696 > test001.8005: P 2:3(1) ack 1 win 257 <nop,nop,timestamp 20428877 20428877> 20:11:22.171453 IP test001.8005 > test001.36696: . ack 3 win 256 <nop,nop,timestamp 20428877 20428877> 20:11:22.171686 IP test001.36696 > test001.8005: P 3:4(1) ack 1 win 257
localhostparsing,例如它在/ etc / hosts中。 netstat -nlp输出。 telnet localhost 8005或telnet 127.0.0.1