随笔-40  评论-66  文章-0  trackbacks-0
如何解决端口冲突导致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
可以使用如下程序代码实现对内存的监控:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("Free Memory: "+lRuntime.freeMemory()+"<br>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br>");
%>
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.xTomcat 4.x在解析提交表单时发生了变化,Tomcat 4.x无论是post还是get,都使用相同的编码,而Tomcat 5.x 却把get方法单独了出来,具体可查看tomcatsource code
2、 Tomcat 5.x允许includejsp页面重新定义解码方式(如下示例),而Tomcat4.x则不允许。
<%@ page contentType="text/html; charset=GBK" %>
 
如何解决端口冲突导致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
可以使用如下程序代码实现对内存的监控:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("Free Memory: "+lRuntime.freeMemory()+"<br>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br>");
%>
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.xTomcat 4.x在解析提交表单时发生了变化,Tomcat 4.x无论是post还是get,都使用相同的编码,而Tomcat 5.x 却把get方法单独了出来,具体可查看tomcatsource code
2、 Tomcat 5.x允许includejsp页面重新定义解码方式(如下示例),而Tomcat4.x则不允许。
<%@ page contentType="text/html; charset=GBK" %>
 
posted on 2007-11-22 10:00 Super·shen BLOG 阅读(16601) 评论(2)  编辑  收藏

评论:
# re: Tomcat的参数配置及一般问题的解决 2012-12-31 17:59 | orangle_lzz
很不错哦   回复  更多评论
  
# re: Tomcat的参数配置及一般问题的解决 2013-09-28 16:55 | 小幽灵
真的很不错!谢谢你!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: