Tomcat 端口80,但是启动时catalina.connector 出错,说路径已经占用,但是。。。。

伊丽莎白S 2005-06-24 09:55:54
修改别人做好的一个案子,现在做好了,要放到人家的电脑上。

这是台PC,Tomcat4.0已经配置好,并且有一个应用程序在正常使用中。端口80

现在我把我的东西放到webapps底下,server.xml配置
<Context path="/Exercise" docBase="Exercise" debug="0" reloadable="true" />

和原来正常运行的那个系统的配置放在一起。

重新启动tomcat,访问这个目录,说不可用。

而且,重新启动tomcat的时候,出现了下面的一大堆错误。把server.xml恢复到之前的备份,启动还是一样。很纳闷。这期间原来可用的系统还是一样可用。如果真的端口被占用那应该一个都打不开才对啊?

清高手指点!谢谢!

开启tomcat出现的错误提示:

Catalina.start: LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind:80
LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind:80

at org.apache.catalina.connector.http.HttpConnector.initialize<HttpConnector.java:1130>
at org.apache.catalina.core.StandardService.initialize<StandardService.java:454>
at.org.apache.catalina.core.StandardServer.initialize<StandardServer.java:553>
at org.apache.catalina.startup.Catalina.start<Catalina.java:780>
at org.apache.catalina.startup.Catalina.execute<Catalina.java:681>
at org apache.catalina.startup.Catalian.process<Catalina.java:179>
at java.lang.reflect.Method.invoke<Native Method>
at org.apache.catalina.startup.Bootstrap.main<Bootstrap.java:243>
---- Root Cause ----
java.net.BindException: Address in use: JVM_Bind:80
at org.apache.catalina.connector.http.HttpConnector.open<HttpConnector.java:950>
at org.apache.catalina.connector.http.HttpConnector.initialize<HttpConnector.java:1128>
at org.apache.catalina.core.StandardService.initialize<StandardService.java:454>
at org.apache.catalina.core.StandardServer.initialize<StandardService.java:553>
at org.apache.catalina.startup.Catalina.start<Catalina.java:780>
at org.apache.catalina.startup.Catalina.execute<Catalina.java:681>
at org.apache.catalina.startup.Catalina.process<Catalina.java:179>
at java.lang.reflect.Method.invoke<Native Method>
at org.apache.catalina.startup.Bootstrap.main<Bootstrap.java:243>
...全文
255 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
我刚才又去看了,他的电脑是2000的,而且根本没有安装iis

请问怎么样才能察看本机的某个端口占用情况?比如,想看80端口都有些什么服务
dlxu 2005-06-24
  • 打赏
  • 举报
回复
估计是别的服务把80占用了,如果有IIS的话,把IIS给停掉
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
我把整个server.xml放上来吧,请帮忙诊断。这个pc是win2000,应该没有iis的吧?

很长的注释就删掉了,免得混淆视听

<!-- Example Server Configuration File -->

<Server port="8005" shutdown="SHUTDOWN" debug="0">



<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Tomcat-Standalone">


<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="80" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"/>

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>


<!-- Define the top level container in our container hierarchy -->
<Engine name="Standalone" defaultHost="10.128.38.44" debug="0">



<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>

<!-- Because this Realm is here, an instance will be shared globally -->

<Realm className="org.apache.catalina.realm.MemoryRealm" />


<Host name="10.128.38.44" debug="0" appBase="webapps" unpackWARs="true">


<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="10.128.38.44_access_log." suffix=".txt"
pattern="common"/>


<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="10.128.38.44_log." suffix=".txt"
timestamp="true"/>



<!-- Tomcat Manager Context -->
<Context path="/manager" docBase="manager"
debug="0" privileged="true"/>

<Context path="" docBase="training" debug="0"
reloadable="true" crossContext="true"/>

<Context path="/wlbg" docBase="wlbg" debug="0"
reloadable="true" crossContext="true"/>

<Context path="/Exercise" docBase="Exercise"
debug="0" reloadable="true" />

<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="10.128.38.44_examples_log." suffix=".txt"
timestamp="true"/>
<Ejb name="ejb/EmplRecord" type="Entity"
home="com.wombat.empl.EmployeeRecordHome"
remote="com.wombat.empl.EmployeeRecord"/>


<Environment name="maxExemptions" type="java.lang.Integer"
value="15"/>
<Parameter name="context.param.name" value="context.param.value"
override="false"/>
<Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/EmployeeAppDb">
<parameter><name>user</name><value>sa</value></parameter>
<parameter><name>password</name><value></value></parameter>
<parameter><name>driverClassName</name>
<value>org.hsql.jdbcDriver</value></parameter>
<parameter><name>driverName</name>
<value>jdbc:HypersonicSQL:database</value></parameter>
</ResourceParams>
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"/>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>10.128.38.44</value>
</parameter>
</ResourceParams>
</Context>

</Host>

</Engine>

</Service>



<!-- Define an Apache-Connector Service -->
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<!-- Replace "10.128.38.44" with what your Apache "ServerName" is set to -->
<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<!-- Because this Realm is here, an instance will be shared globally -->
<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>

</Server>
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
可是如果80端口被占用,应该挂在tomcat底下的都不能用才对吧?
但有个系统却雷打不动的再正常运行啊!

而且,没有看到有别的服务占用80端口的

唉,我再去看看
老高高高 2005-06-24
  • 打赏
  • 举报
回复
80端口被占用了,一是改端口,二是,将IIS80端口放开
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
请各位帮忙啊!在线等了55555555
Acylas 2005-06-24
  • 打赏
  • 举报
回复
到控制面板服务里面检查是否tomcat已经作为服务启动了,
tomcat安装的时候可以配置为nt服务,自动启动的。
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
哦,错了,是netstat -an查到的
伊丽莎白S 2005-06-24
  • 打赏
  • 举报
回复
我刚才停掉tomcat,用netstat -a 查到80端口确实占用着,如下:
Proto Local Address Foreign Address State

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 本机IP:80 本机IP:1290 ESTABLISHED
TCP 本机IP:80 本机IP:1291 ESTABLISHED


请问谁能告诉我这代表占用这个端口的是什么服务吗?
或者,哪位知道怎么查看占用这个端口的服务的方法?

请救命啊!谢谢!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧