如何解决端口冲突导致tomcat无法启动的问题

如何解决端口冲突导致tomcat无法启动的问题

Tomcat沙龙国际在启动时主要使用下面的3个端口

<Server port="8005" shutdown="SHUTDOWN" debug="0"> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75"enableLookups="true"redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="200000" useURIValidationHack="false" disableUploadTimeout="true" />

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8009" minProcessors="5" maxProcessors="75" enableLookups="true"redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false"protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

端口被占用后的现象:

? 8080端口被占用,tomcat刚开始启动就立即停止;

? 8005端口被占用,tomcat启动后期停止;

? 8009端口被占用,tomcat会自动使用下一个未被占用的端口,无启动问题。

如果想查看端口的使用状态,在win2000下使用命令netstat –na;在winXP/2003下使用命令netstat –nao;把tomcat端口修改为未使用的端口然后再启动。

2、 修改java虚拟机内存

修改tomcat\bin\catalina.bat文件,在JAVA_OPTS变量使用前加入

set JAVA_OPTS=-Xms128m -Xmx256m

其中Xms为最小内存,Xmx为最大内存。

设定的最大内存可用如下命令测试:java -Xmx1048m -version

可以使用如下程序代码实现对内存的监控:

1. <%

2. Runtime lRuntime = Runtime.getRuntime();

3. out.println("Free Memory: "+lRuntime.freeMemory()+"<br>");

4. out.println("Max Memory: "+lRuntime.maxMemory()+"<br>");

5. out.println("Total Memory: "+lRuntime.totalMemory()+"<br>");

6. %>

3、 修改tomcat连接数

修改tomcat\conf\server.xml文件中的如下部分

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"port="8080" minProcessors="5" maxProcessors="75" enableLookups="true"redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />

其中minProcessors为最小连接数;maxProcessors为最大连接数;acceptCount为允许最大连接数;connectionTimeout为网络连接超时时间毫秒数。

4、 禁止列出目录下的文件

修改tomcat\conf\web.xml文件中的如下部分,把true设置为false。

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

5、 设置session失效的时间

修改tomcat\conf\web.xml文件的如下部分,时间单位为分钟。

<session-config>

<session-timeout>30</session-timeout>

</session-config>

6、 设置MIME响应类型

如果文件在客户端中的响应程序类型和期望不一致,修改tomcat\conf\web.xml文件中的如下部分。

<mime-mapping>

<extension>zip</extension>

<mime-type>application/zip</mime-type>

</mime-mapping>

<mime-mapping>

<extension>mht</extension>

<mime-type>message/rfc822</mime-type>

</mime-mapping>

7、 设置tomcat的默认访问页面

修改tomcat\conf\web.xml文件中的如下部分。

<welcome-file-list>

<welcome-file>login.jsp</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

8、 设置tomcat管理用户

修改tomcat\conf\tomcat-users.xml。

<tomcat-users>

<role rolename="tomcat"/>

<role rolename="role1"/>

<role rolename="manager"/>

<role rolename="admin"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="role1" password="tomcat" roles="role1"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="admin" password="" roles="admin,manager"/>

</tomcat-users>

附:

1、 Tomcat 5.x与Tomcat 4.x在解析提交表单时发生了变化,Tomcat 4.x无论是post还是get,都使用相同的编

码,而Tomcat 5.x 却把get方法单独了出来,具体可查看tomcat的source code。

2、 Tomcat 5.x允许include的jsp页面重新定义解码方式(如下示例),而Tomcat4.x则不允许。

<%@ page contentType="text/html; charset=GBK" %>

 

第二篇:tomcat端口占用解决方法

通常时候端口被占,我只是不停的去shutdown tomcat,然后再去任务管理器杀进程。这样通常也很好用,但是最近学到了一个比较科学的方法如下: 第一步查看一下是哪个进程在使用该端口使用如下命令:

批处理代码 netstat -ano | more

第二步找到是哪个进程使用如下命令:

Java代码

1. tasklist | more

第三步就可以关应用程序去了。

附:

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v]

-a 显示所有连接和监听端口。

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。

这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP

部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。 -e 显示以太网统计信息。此选项可以与 -s选项组合使用

-n 以数字形式显示地址和端口号。 此选项可以与 -a选项组合使用 -o 显示与每个连接相关的所属进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是

下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 显示路由表。

-s 显示按协议统计信息。默认地,显示 IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件

interval 重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果省略,netstat 显示当前

相关推荐