如何解決端口沖突導(dǎo)致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"/>
端口被占用后的現(xiàn)象:
Ø 8080端口被占用,tomcat剛開始啟動就立即停止;
Ø 8005端口被占用,tomcat啟動后期停止;
Ø 8009端口被占用,tomcat會自動使用下一個未被占用的端口,無啟動問題。
如果想查看端口的使用狀態(tài),在win2000下使用命令netstat –na;在winXP/2003下使用命令netstat –nao;把tomcat端口修改為未使用的端口然后再啟動。
2、 修改java虛擬機內(nèi)存
修改tomcat\bin\catalina.bat文件,在JAVA_OPTS變量使用前加入
set JAVA_OPTS=-Xms128m -Xmx256m
其中Xms為最小內(nèi)存,Xmx為最大內(nèi)存。
設(shè)定的最大內(nèi)存可用如下命令測試:java -Xmx1048m -version
可以使用如下程序代碼實現(xiàn)對內(nèi)存的監(jiān)控:
<%
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連接數(shù)
修改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為最小連接數(shù);maxProcessors為最大連接數(shù);acceptCount為允許最大連接數(shù);connectionTimeout為網(wǎng)絡(luò)連接超時時間毫秒數(shù)。
4、 禁止列出目錄下的文件
修改tomcat\conf\web.xml文件中的如下部分,把true設(shè)置為false。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
5、 設(shè)置session失效的時間
修改tomcat\conf\web.xml文件的如下部分,時間單位為分鐘。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
6、 設(shè)置MIME響應(yīng)類型
如果文件在客戶端中的響應(yīng)程序類型和期望不一致,修改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、 設(shè)置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、 設(shè)置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在解析提交表單時發(fā)生了變化,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" %>
如何解決端口沖突導(dǎo)致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"/>
端口被占用后的現(xiàn)象:
Ø 8080端口被占用,tomcat剛開始啟動就立即停止;
Ø 8005端口被占用,tomcat啟動后期停止;
Ø 8009端口被占用,tomcat會自動使用下一個未被占用的端口,無啟動問題。
如果想查看端口的使用狀態(tài),在win2000下使用命令netstat –na;在winXP/2003下使用命令netstat –nao;把tomcat端口修改為未使用的端口然后再啟動。
2、 修改java虛擬機內(nèi)存
修改tomcat\bin\catalina.bat文件,在JAVA_OPTS變量使用前加入
set JAVA_OPTS=-Xms128m -Xmx256m
其中Xms為最小內(nèi)存,Xmx為最大內(nèi)存。
設(shè)定的最大內(nèi)存可用如下命令測試:java -Xmx1048m -version
可以使用如下程序代碼實現(xiàn)對內(nèi)存的監(jiān)控:
<%
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連接數(shù)
修改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為最小連接數(shù);maxProcessors為最大連接數(shù);acceptCount為允許最大連接數(shù);connectionTimeout為網(wǎng)絡(luò)連接超時時間毫秒數(shù)。
4、 禁止列出目錄下的文件
修改tomcat\conf\web.xml文件中的如下部分,把true設(shè)置為false。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
5、 設(shè)置session失效的時間
修改tomcat\conf\web.xml文件的如下部分,時間單位為分鐘。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
6、 設(shè)置MIME響應(yīng)類型
如果文件在客戶端中的響應(yīng)程序類型和期望不一致,修改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、 設(shè)置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、 設(shè)置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在解析提交表單時發(fā)生了變化,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" %>
posted on 2007-11-22 10:00
Super·shen BLOG 閱讀(16622)
評論(2) 編輯 收藏