0

我知道简短的回答是“你告诉它的”。但是,当然,我不确定我是如何告诉 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是如果它通过了jpda开关,即使这样,它似乎也会开始 onlocalhost而不是0.0.0.0. .bashrc没有tomcat tomfoolery,我很难过还有其他地方可以看!

4

2 回答 2

2

是时候复习一下 RFC4632了,内存已经生锈了。

0.0.0.0 是默认路由,在 Tomcat 的情况下用于表示端口上的任何8000IP都会被路由到 Tomcat 中(大概是为了调试)。

重申一下,在 Tomcat 上,任何带有端口0.0.0.0:xxxx的请求都会路由到 Tomcat 中。xxxx

于 2011-06-01T22:30:17.380 回答
0

这可能是因为 JPDA_ADDRESS 是 "8000" 而不是 "localhost:8000" if [ -z "$JPDA_ADDRESS" ]; 然后 JPDA_ADDRESS="localhost:8000" fi

于 2019-04-25T08:47:50.013 回答