我试图在Debian 5和Debian 6上以两种不同的方式( 从源代码和apt-get )安装Apache Tomcat 5.5和6 – 没有成功。 服务器正在运行,但无法连接到它。
netstat -a :
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ssh *:* LISTEN tcp 0 0 `hostname`:ssh my_home_ip:4318 ESTABLISHED tcp 0 52 `hostname`:ssh my_home_ip:remctl ESTABLISHED tcp6 0 0 [::]:8009 [::]:* LISTEN tcp6 0 0 [::]:8180 [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 *:mdns *:* udp 0 0 *:33059 *:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:43829 [::]:*
netstat -tnlp :
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1416/sshd tcp6 0 0 :::8009 :::* LISTEN 7880/jsvc tcp6 0 0 :::8180 :::* LISTEN 7880/jsvc tcp6 0 0 :::22 :::* LISTEN 1416/sshd
ps aux | grep tomcat ps aux | grep tomcat :
root 7878 0.0 0.0 1984 352 ? Ss 21:55 0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap root 7879 0.0 0.0 1984 460 ? S 21:55 0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap tomcat55 7880 0.1 5.3 324068 27932 ? Sl 21:55 0:01 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap root 8013 0.0 0.0 1716 492 pts/0 R+ 22:13 0:00 grep tomcat
nmap端口检查:
# nmap localhost -p 8180 Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03 Interesting ports on localhost.localdomain (127.0.0.1): PORT STATE SERVICE 8180/tcp closed unknown Nmap done: 1 IP address (1 host up) scanned in 0.025 seconds # nmap localhost -p 8009 Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03 Interesting ports on localhost.localdomain (127.0.0.1): PORT STATE SERVICE 8009/tcp closed ajp13 Nmap done: 1 IP address (1 host up) scanned in 0.027 seconds # nmap localhost -p 22 Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03 Interesting ports on localhost.localdomain (127.0.0.1): PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 0.026 seconds
Catalina日志:
Mar 3, 2012 9:55:26 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: Mar 3, 2012 9:55:26 PM org.apache.coyote.http11.Http11BaseProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8180 Mar 3, 2012 9:55:26 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 486 ms Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5 Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Mar 3, 2012 9:55:27 PM org.apache.coyote.http11.Http11BaseProtocol start INFO: Starting Coyote HTTP/1.1 on http-8180 Mar 3, 2012 9:55:27 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Mar 3, 2012 9:55:27 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/24 config=null Mar 3, 2012 9:55:27 PM org.apache.catalina.storeconfig.StoreLoader load INFO: Find registry server-registry.xml at classpath resource Mar 3, 2012 9:55:27 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 321 ms
java -version :
java version "1.5.0_22" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode)
我也尝试了强制分配Tomcat到我的VPS外部IP。 我也一直在VM初始化期间发生错误无法为对象堆预留足够的空间。 错误不时,但我想这不是问题,因为Tomcat没有反应。
对不起,这么多的文字 – 我试图提供信息。 请帮帮我。 先谢谢你!
更新正如答案中所述,Tomcat正在监听IPv6端口。 为了改变这种情况,我不得不为JAVA机器添加一个环境variables到/etc/profile文件
JAVA_OPTS="-Djava.net.preferIPv4Stack=true" export JAVA_OPTS
…重新加载文件: source /etc/profile
…然后通过以下方式编辑/etc/tomcat5.5/server.xml (在我的情况下)来configurationTomcat的主Connector :
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" address="0.0.0.0" />
注意address="0.0.0.0"告诉Tomcat绑定到一个IPv4地址。
谢谢你的时间,每个人都有美好的一天。
Tomcat似乎只能侦听IPv6回送地址::1 。
它闻起来像是一个防火墙问题 – 尝试在防火墙中打开相关规则(考虑只是让所有内容进出,我从来没有看到限制回环stream量的合法情况)。