首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

bind failed: Address already in use ["transport.c"L41]

2012-09-20 
bind failed: Address already in use [transport.c,L41]郁闷我三天的问题今天解决了,终于?事情是这样的

bind failed: Address already in use ["transport.c",L41]

郁闷我三天的问题今天解决了,终于

?

事情是这样的,我想在一台机器上配置多个tomcat,形成集群

?

过程是这样,像大多数网页上描述的那样,修改tomcat 配置文件server.xml 里面几个端口号,使他们不能相同 ,具体为如下几个端口

。。。<Server port="8005" shutdown="SHUTDOWN">。。。

。。。 <Connector port="8080" maxHttpHeaderSize="8192"
?????????????? maxThreads="1000" minSpareThreads="250" maxSpareThreads="750"
?????????????? enableLookups="false" redirectPort="8443" acceptCount="1000"
?????????????? connectionTimeout="20000" disableUploadTimeout="true" />。。。

。。。<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
??
??? <Connector port="8443"(和上一个8443端口修改为相同的端口)? maxHttpHeaderSize="8192"
?????????????? maxThreads="1000" minSpareThreads="250" maxSpareThreads="750"
?????????????? enableLookups="false" disableUploadTimeout="true"
?????????????? acceptCount="100" scheme="https" secure="true"
?????????????? clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="changeit" />
??

??? <!-- Define an AJP 1.3 Connector on port 8009 -->
??? <Connector port="8009"?
?????????????? enableLookups="false" redirectPort="8443"(和上一个8443端口修改为相同的端口) protocol="AJP/1.3" />。。。

。。。!-- Define the top level container in our container hierarchy -->
?? <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" >?? 。。。。

。。。。 <Receiver
??????????????? className="org.apache.catalina.cluster.tcp.ReplicationListener"
??????????????? tcpListenAddress="auto"
??????????????? tcpListenPort="4001"
??????????????? tcpSelectorTimeout="100"
??????????????? tcpThreadCount="6"/>。。。。。

?

经过修改上述几个端口后,几乎大部分其他人的集群就好用了,可是偏偏我的不行

我开第二个tomcat的时候,会打印如下日志信息:

?

ERROR: transport error 202: bind failed: Address already in use ["transport.c",L41]
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) ["debugInit.c",L500]
JDWP exit error JVMTI_ERROR_INTERNAL(113): No transports initializedFATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113)

然后我就找不到参考的文章了,最后通过查看启用文件脚本,找到了问题所在

原因是还有端口没有改全,还有两个地方

一个是 tomcat? bin 目录下的 startup.sh 文件,“export JPDA_ADDRESS=8000” ,这个参数得修改,比如改为 “8100”吧,

还有一个文件是 tomcat? bin 目录下的 catalina.sh 文件, 有这样一段代码

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
??? JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
? fi
? CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
? shift
fi

把其中的8000 改为对应刚才修改的,如 8100,然后我的问题就解决了,就这样

热点排行