我知道简短的回答是“你说过了。”但是,当然,我不确定我是如何告诉Tomcat开始使用8000
默认调试端口打开的,而是0.0.0.0
而不是预期的127.0.0.1
。在Ubuntu 10.10启动之后,这里有几个上下文命令。
$ netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN
tcp6 0 0 127.0.0.1:8080 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
/usr/share/tomcat6/bin$ grep -C 5 8000 catalina.sh
#
# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
# command is executed. The default is "dt_socket".
#
# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
# command is executed. The default is 8000.
#
# JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start"
# command is executed. Specifies whether JVM should suspend
# execution immediately after startup. Default is "n".
#
--
if [ "$1" = "jpda" ] ; then
if [ -z "$JPDA_TRANSPORT" ]; then
JPDA_TRANSPORT="dt_socket"
fi
if [ -z "$JPDA_ADDRESS" ]; then
JPDA_ADDRESS="8000"
fi
if [ -z "$JPDA_SUSPEND" ]; then
JPDA_SUSPEND="n"
fi
if [ -z "$JPDA_OPTS" ]; then
考虑到这两个输出,我希望发现在某个地方还有一个我在不知不觉中被修改过的配置文件,因为catalina.sh
打开8000
的唯一方法是它是否传递了{{} 1}}切换,即使这样,它似乎会从jpda
开始而不是localhost
。 0.0.0.0
清除了tomcat tomfoolery,我很难看到其他地方!
答案 0 :(得分:1)
时间到了RFC4632,记忆变得生疏了。
0.0.0.0是default route,并且在Tomcat的情况下用于指示端口8000
上的任何 IP将被路由到Tomcat(可能用于调试) )。
要重述,Tomcat 0.0.0.0:xxxx
会将任何带xxxx
端口的请求路由到Tomcat。
答案 1 :(得分:0)
这可能是因为JPDA_ADDRESS是“ 8000”而不是“ localhost:8000” 如果[-z“ $ JPDA_ADDRESS”];然后 JPDA_ADDRESS =“ localhost:8000” fi