webServer tomcat5/tomcat6/tomcat7诠释
Jakata tomcat5
http://mirrors.ccs.neu.edu/Apache/dist/tomcat/tomcat-5/
http://archive.apache.org/dist/jakarta/tomcat-5/?
http://tomcat.apache.org/
http://labs.xiaonei.com/ 由校內(nèi)網(wǎng)維護(hù)的Apache下載鏡像
http://tomcat.apache.org/download-55.cgi
http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip
http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26-admin.zip
http://tomcat.apache.org/download-60.cgi
http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.zip
http://tomcat.apache.org/download-native.cgi
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/native/1.1.14/binaries/win32/
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/native/1.1.16/binaries/win32/
http://tomcat.apache.org/download-connectors.cgi
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/
Tomcat5 添加管理控制臺(tái)
http://localhost:8080/admin
AdministrationTomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it.
添加 Tomcat Administration Username :
D:\Program Files\Apache Software Foundation\apache-tomcat-5.5.28 \conf\tomcat-users.xml
Xml代碼添加 Tomcat Administration Application Configuration
D:\Program Files\Apache Software Foundation\apache-tomcat-5.5.28\conf\Catalina\localhost\admin.xml
Xml代碼?
?
添加 Tomcat Administration Application
http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-5/v5.5.28/bin/apache-tomcat-5.5.28-admin.zip
D:\Program Files\Apache Software Foundation\apache-tomcat-5.5.28\server\webapps\admin
Tomcat6 配置 Tomcat?Manager
http://localhost:8080/manager
401 Unauthorized
You are not authorized to view this page. If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file will contain the credentials to let you use this webapp.
You will need to add manager role to the config file listed above. For example:
<role rolename="manager"/> <user username="tomcat" password="s3cret" roles="manager"/>
For more information - please see the Manager App HOW-TO .
修改文件:D:\Program Files\apache-tomcat-6.0.20\conf\tomcat-users.xml
Tomcat 7 添加配置web管理控制臺(tái) ,注意下載版本32/64, 這個(gè)也適用于apache-tomcat-6.0.32。
http://hi.baidu.com/everything%5Fis%5Ftruth/blog/item/cc115910616ecad5a6ef3f07.html
修改文件 D:\soft\apache-tomcat-7.0.22\conf\ tomcat-users.xml
Java代碼Tomcat5 外引項(xiàng)目配置
文件:
D:\tomcat5\conf\Catalina\localhost\workorder .xml
內(nèi)容:
< Context ? path = "/workorder " ? docBase = "D:\workspace\order\WebRoot" ? reloadable = "true"/ >
路徑:http://localhost:8585/workorder
Tomcat 5 查看并發(fā)訪問量
http://localhost:8585/manager/status/
http://localhost:8585/manager/status/all
http://192.168.157.87:8080/manager/status?XML=true
http8585
Max threads: 150 Min spare threads: 0 Max spare threads: 0 Current thread count: 3 Current thread busy: 1 Keeped alive sockets count: 0
Max processing time: 265 ms Processing time: 0.451 s Request count: 4 Error count: 0 Bytes received: 0.00 MB Bytes sent: 0.06 MB
Tomcat 啟動(dòng)分析、啟動(dòng)腳本、類載入器
啟動(dòng)分析 :http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html
啟動(dòng)腳本:http://docs.huihoo.com/apache/tomcat/heavyz/02-catalina.sh .html
類載入器:http://docs.huihoo.com/apache/tomcat/heavyz/03-classloader.html
Tomcat 6 安裝成Windows服務(wù)
http://guyongpeng.iteye.com/blog/176914
安裝tomcat服務(wù)
D:\Program Files\apache-tomcat-6.0.20\bin>service.bat install
Installing the service 'Tomcat6' ...
Using CATALINA_HOME:??? D:\Program Files\apache-tomcat-6.0.20
Using CATALINA_BASE:??? D:\Program Files\apache-tomcat-6.0.20
Using JAVA_HOME:??????? D:\Program Files\jdk1.6.0_16
Using JVM:????????????? D:\Program Files\jdk1.6.0_16\jre\bin\server\jvm.dll
The service 'Tomcat6' has been installed.
?
D:\Program Files\apache-tomcat-6.0.20\bin>net start Tomcat6
Apache Tomcat 6 服務(wù)正在啟動(dòng) ..
Apache Tomcat 6 服務(wù)已經(jīng)啟動(dòng)成功。
或
D:\Program Files\apache-tomcat-6.0.20\bin>service.bat install lindows
Installing the service 'lindows' ...
Using CATALINA_HOME:??? D:\Program Files\apache-tomcat-6.0.20
Using CATALINA_BASE:??? D:\Program Files\apache-tomcat-6.0.20
Using JAVA_HOME:??????? D:\Program Files\jdk1.6.0_16
Using JVM:????????????? D:\Program Files\jdk1.6.0_16\jre\bin\server\jvm.dll
The service 'lindows' has been installed.
D:\Program Files\apache-tomcat-6.0.20\bin>net start lindows
Apache Tomcat lindows 服務(wù)正在啟動(dòng) .
Apache Tomcat lindows 服務(wù)已經(jīng)啟動(dòng)成功。
卸載tomcat服務(wù)
D:\Program Files\apache-tomcat-6.0.20\bin>service.bat remove
或
D:\Program Files\apache-tomcat-6.0.20\bin>service.bat remove tomcat6
一般性的,若需要將通用的java應(yīng)用添加為windows服務(wù),可以使用wrapper工具
Tomcat ?Cluster?服務(wù)器集群
http://blog.chinaunix.net/u1/34716/showart_276614.html
http://server.chinabyte.com/392/2632892.shtml
http://albertsong.iteye.com/blog/271235
apache跟tomcat做集群session不同步問題
http://www.iteye.com/topic/21449
@robbin
1、tomcat實(shí)例要在response的時(shí)候標(biāo)示自己,通過server.xml里面的jvmRoute參數(shù)
2、apache要從request里面拿出來route信息,從哪個(gè)HEAD里面拿?通過stickysession參數(shù)來指定
3、apache怎么轉(zhuǎn)發(fā)?通過route參數(shù)來指定。
最后想提醒一點(diǎn):apache2.2的load balance的session sticky性能并不好,因?yàn)樗@是在七層協(xié)議級別進(jìn)行請求的分發(fā)。我測試的結(jié)果表明,并不很穩(wěn)定。 對于tomcat群集來說,最好就是SNA(Share Nothing Architecture),
應(yīng)用程序壓根就不用session,這樣才能無限擴(kuò)展。
@codeutil
mod_jk這個(gè)早就該淘汰了, 用modajp
結(jié)合Apache和Tomcat實(shí)現(xiàn)集群和負(fù)載均衡
http://hqjiang.iteye.com/blog/261107
本文基本參考自?輕松實(shí)現(xiàn)Apache,Tomcat集群和負(fù)載均衡 ? ,經(jīng)由實(shí)操經(jīng)歷記錄而成,碰到些出入,以及個(gè)別地方依據(jù)個(gè)人的習(xí)慣,所以在一定程度上未能保持原文的完整性,還望原著者海涵。
因原文中有較多的貼圖,如若各位讀者一時(shí)不想親自動(dòng)手而直想看到配置效果,可查看原文。
一:軟件環(huán)境 ?
?? 1. Apache: apache 2.0.55 (由http://httpd.apache.org/ ? 進(jìn)入下載)(點(diǎn)擊下載apache 2.0.55 ? )
?? 2. Tomcat: Tomcat 5.5.25 (由http://tomcat.apache.org/ ? 進(jìn)入下載)(點(diǎn)擊下載Tomcat 5.5.25 zip版 ? )
?? 3. mod_jk: 在頁面?http://tomcat.apache.org/ ? ?? Download 標(biāo)題下找到 Tomcat Connectors 鏈接進(jìn)入(?點(diǎn)擊下載mod_jk-apache-2.0.55.so ? ),看起來像是個(gè)Unix/Linux下的動(dòng)態(tài)庫,實(shí)際應(yīng)是個(gè)Win32 的 DLL 動(dòng)態(tài)庫,大概是為保持不同平臺(tái)配置的一致性,才用了這個(gè)擴(kuò)展名。
二:負(fù)載均衡
三:配置集群
nginx+tomcat集群負(fù)載均衡(實(shí)現(xiàn)session復(fù)制)
http://blog.chinaunix.net/u2/83793/showart_1354266.html
參考鏈接:
Linux操作系統(tǒng)下配置Tomcat多個(gè)實(shí)例解析
http://linux.chinaitlab.com/administer/747294.html
運(yùn)行多個(gè)tomcat實(shí)例兩法
http://blog.csdn.net/hansoft/archive/2006/04/01/647060.aspx
apache下多個(gè)tomcat實(shí)例的實(shí)現(xiàn)
http://blog.chinaunix.net/u/2914/showart_1162420.html
Apache+tomcat虛擬主機(jī)多實(shí)例的配置
http://hi.baidu.com/xerik/blog/item/ab69b1513a44ea8e8d54304b.html
Tomcat 6 數(shù)據(jù)源與連接池配置
JNDI數(shù)據(jù)源的使用
http://weixuezheng1986-163-com.iteye.com/blog/561305
http://www.blogjava.net/ec2008/archive/2008/07/19/216063.html
project:test
Driver path:
D:\workspace\test\WebRoot\WEB-INF\lib\ojdbc14.10g.jar
Datasource config
D:\tomcat6.0\conf\server.xml
<GlobalNamingResources>
<!-- 其中將數(shù)據(jù)源參數(shù)配置在tomcat全局連接池中-->
? <Resource
??? name="jdbc/oracle "
??? type="javax.sql.DataSource"
??? maxActive="4"
??? maxIdle="2"
??? username="scott"
??? maxWait="5000"
??? driverClassName="oracle.jdbc.driver.OracleDriver"
??? validationQuery="select 1 from dual"
??? password="tiger"
??? url="jdbc:oracle:thin:@localhost:1521:orcl"/>
</GlobalNamingResources>
JNDI config
D:\workspace\test\WebRoot\WEB-INF\web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee "
?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ?? http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd ">
?<!--?其中加入應(yīng)用JNDI配置 -->
?<resource-ref>
? <description>DB?Connection </description>
?? <!-- JNDI 命名-->
? <res-ref-name>jdbc/oracle </res-ref-name>
? <res-type>javax.sql.DataSource</res-type>
? <res-auth>Application </res-auth>
?</resource-ref>
或
?<resource-ref>
? <description>DB?Connection </description>
? <res-ref-name>jdbc/oracle </res-ref-name>
? <res-type>javax.sql.DataSource</res-type>
? <res-auth>Container </res-auth>
?</resource-ref>
</web-app>
Tomcat 6 數(shù)據(jù)源與連接池配置 方法二
project:test
Driver path:
D:\workspace\test\WebRoot\WEB-INF\lib\ojdbc14.10g.jar
Datasource config
D:\tomcat6.0\conf\Catalina\localhost\test.xml
或
D:\tomcat6.0\conf \context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/test " docBase="D:\workspace\test\WebRoot " reloadable="true">
<!-- 其中將數(shù)據(jù)源參數(shù)配置在tomcat局部連接池中-->
??<Resource name="jdbc/oracle"
????? type="javax.sql.DataSource"
????? username="scott"
????? password="tiger"
????? driverClassName="oracle.jdbc.OracleDriver"
???? ?validationQuery="select 1 from dual"
????? maxIdle="2"
????? maxWait="5000"
????? url="jdbc:oracle:thin:@localhost:1521:orcl"
????? maxActive="4"/>
</Context>
page test ok
D:\workspace\test\WebRoot\index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
?String path = request.getContextPath();
?String basePath = request.getScheme() + "://"
???+ request.getServerName() + ":" + request.getServerPort()
???+ path + "/";
%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
?<head>
??<base href="<%=basePath%>">
??<title>tomcat datasource test</title>
??<meta http-equiv="pragma" content="no-cache">
??<meta http-equiv="cache-control" content="no-cache">
??<meta http-equiv="expires" content="0">
??<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
??<meta http-equiv="description" content="This is my page">
??<!--
?<link rel="stylesheet" type="text/css" href="styles.css">
?-->
?</head>
?<body>
??<%
???Context initContext = new InitialContext();
???//java:/comp/env 或? java:/comp/env/ 固定寫法
???Context envContext = (Context) initContext
?????.lookup("java:/comp/env/");
???DataSource ds = (DataSource) envContext.lookup("jdbc/oracle");
???//方法二
???//DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/oracle");
???Connection conn = ds.getConnection();
???Statement stmt = conn.createStatement();
???ResultSet rs = stmt.executeQuery("select * from dept");
???out.println("結(jié)果集是否為空:" + (rs == null) + "<p>");
???while (rs.next()) {
????String deptno = rs.getString(1);
????String dname = rs.getString(2);
????String loc = rs.getString(3);
????out.println("\t部門編號:" + deptno + "\t部門名稱:" + dname + "??? 地點(diǎn):"
??????+ "\t" + loc + "<p>");
???}
???out.println("finally");
???try {
????if (rs != null) {
?????rs.close();
????}
????if (stmt != null) {
?????stmt.close();
????}
????if (conn != null) {
?????conn.close();
????}
???} catch (SQLException e2) {
????e2.printStackTrace();
???}
??%>
?</body>
</html>
tomcat 虛擬主機(jī)配置
http://absolute007.iteye.com/blog/175902
第一步、
在tomcat/conf/server.xml中添加
? <Host name="jsp " debug="0" appBase="E:\My Documents\myeclipse_workspace">
????????????? <Context path="" docBase="." debug="0"/>
?????? </Host>
第二步、
對于windows XP:
\WINDOWS\system32\drivers\etc\
中找到hosts這個(gè)文件,此文件沒有擴(kuò)展名,可以手工創(chuàng)建。后面添加
127.0.0.1?????? localhost
127.0.0.1??????jsp
?第三步:
瀏覽器中輸入
http://jsp:8008/jspsqltest/WebRoot/test.jsp
一切完成
tomcat5 優(yōu)化配置
http://liliugen.iteye.com/blog/265422
http://liliugen.iteye.com/blog/265506
http://japi.iteye.com/blog/261586
java.lang.OutOfMemoryError: PermGen space
tomcat 最大連接數(shù)配置
http://maqianli.iteye.com/blog/298619
在server.xml中有配置的。 ??
<Connector ? port="8080" ??
? ? maxThreads="150" ??
? ? minSpareThreads="25" ??
? ? maxSpareThreads="75" ??
? ? acceptCount="100" ??
? ? /> ??
maxThreads="150" ????? 表示最多同時(shí)處理150個(gè)連接 ??
minSpareThreads="25" ? 表示即使沒有人使用也開這么多空線程等待 ??
maxSpareThreads="75" ? 表示如果最多可以空75個(gè)線程,例如某時(shí)刻有80人訪問,之后沒有人訪問了,則tomcat不會(huì)保留80個(gè)空線程,而是關(guān)閉5個(gè)空的。 ??
??
acceptCount="100" ???? 當(dāng)同時(shí)連接的人數(shù)達(dá)到maxThreads時(shí),還可以接收排隊(duì)的連接,超過這個(gè)連接的則直接返回拒絕連
接。
?
Tomcat集群的三種負(fù)載均衡方式優(yōu)缺點(diǎn)對照。
http://wangdei.iteye.com/blog/205947 1.使用DNS輪詢. 2.使用Apache R-proxy方式。 3.使用Apache mod_jk方式. DNS輪詢的缺點(diǎn)是,當(dāng)集群中某臺(tái)服務(wù)器停止之后,用戶由于dns緩存的緣故,便無法訪問服務(wù), 必須等到dns解析更新,或者這臺(tái)服務(wù)器重新啟動(dòng)。 還有就是必須把集群中的所有服務(wù)端口暴露給外界,沒有用apache做前置代理的方式安全, 并且占用大量公網(wǎng)IP地址,而且tomcat還要負(fù)責(zé)處理靜態(tài)網(wǎng)頁資源,影響效率。 優(yōu)點(diǎn)是集群配置最簡單,dns設(shè)置也非常簡單。 R-proxy的缺點(diǎn)是,當(dāng)其中一臺(tái)tomcat停止運(yùn)行的時(shí)候,apache仍然會(huì)轉(zhuǎn)發(fā)請求過去,導(dǎo)致502網(wǎng)關(guān)錯(cuò)誤。 但是只要服務(wù)器再啟動(dòng)就不存在這個(gè)問題。 mod_jk方式的優(yōu)點(diǎn)是,Apache 會(huì)自動(dòng)檢測到停止掉的tomcat,然后不再發(fā)請求過去。 缺點(diǎn)就是,當(dāng)停止掉的tomcat服務(wù)器再次啟動(dòng)的時(shí)候,Apache檢測不到,仍然不會(huì)轉(zhuǎn)發(fā)請求過去。 R-proxy和mod_jk的共同優(yōu)點(diǎn)是.可以只將Apache置于公網(wǎng),節(jié)省公網(wǎng)IP地址資源。 可以通過設(shè)置來實(shí)現(xiàn)Apache專門負(fù)責(zé)處理靜態(tài)網(wǎng)頁,讓Tomcat專門負(fù)責(zé)處理jsp和servlet等動(dòng)態(tài)請求。 共同缺點(diǎn)是:如果前置Apache代理服務(wù)器停止運(yùn)行,所有集群服務(wù)將無法對外提供。 R-proxy和mod_jk對靜態(tài)頁面請求的處理,都可以通設(shè)置來選取一個(gè)盡可能優(yōu)化的效果。 這三種方式對實(shí)現(xiàn)最佳負(fù)載均衡都有一定不足,mod_jk相對好些,可以通過設(shè)置lbfactor參數(shù)來分配請求任務(wù)。 所有這些在實(shí)際使用中都應(yīng)該根據(jù)具體情況來選擇。本地查看遠(yuǎn)程端口8080是否開放
C:\Documents and Settings\Lindows>telnet 192.168.118.168 8000
tomcat 8080 端口沖突解決 方法一
http://inshect.iteye.com/blog/343057
dos 輸入 ,并查看沖突端口號對應(yīng)的PID(系統(tǒng)進(jìn)程號)
C:\Documents and Settings\Lindows>netstat -help
C:\Documents and Settings\Lindows>netstat -b
C:\Documents and Settings\Lindows>netstat -ano > c:\netstat.txt
看看占用0.0.0:80端口的PID是多少
在“任務(wù)管理器”中查找對應(yīng)PID的程序。
如果任務(wù)管理器的進(jìn)程頁中看不到PID欄,
則在任務(wù)管理器的菜單〖查看〗〖選擇列〗中選擇一下。刪掉PID對應(yīng)的程序即可。
tomcat 8080 端口沖突解決 方法二
windows 命令行下 簡單好用的查看端口占用情況的方法
http://freeman983.iteye.com/blog/349971
在windows命令行窗口下執(zhí)行:
C:\>netstat -ano | findstr "8080"
或
C:\>netstat -ano | findstr 8080
TCP??? 127.0.0.1:4444???????? 0.0.0.0:0????????????? LISTENING?????? 2434
由上面得知,端口被進(jìn)程號為2434的進(jìn)程占用,繼續(xù)執(zhí)行下面命令:
C:\>tasklist | findstr "2434"
或
C:\>tasklist | findstr 2434
javaw.exe???????????????????? 2434 Console???????????????? 0???? 16,064 K
c:\>taskkill? /f /im javaw.exe
Apache HTTP Server 與 Tomcat 的三種連接方式介紹
劉 冬 (javayou@gmail.com ), 開發(fā)工程師, 2007 年 1 月 15 日
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html
Tomcat SSL OpenSSL 443
終于搞定了Windows下Tomcat Web服務(wù)器的SSL配置
http://albertsong.iteye.com/blog/198344
http://www.myssl.cn/guide/install_openssl.asp
?
Tomcat6配置使用SSL雙向認(rèn)證 ?
http://www.openssl.cn/
http://www.openssl.org/
http://baike.baidu.com/view/300712.htm
http://tech.techweb.com.cn/thread-226423-1-2.html
使用OpenSSL API進(jìn)行安全編程
http://www.ibm.com/developerworks/cn/linux/l-openssl.html
?
openssl生成pem建立CA
http://ideage.iteye.com/blog/356915
文章一:http://blog.chinaunix.net/u/11234/showart_290705.html
文章二:http://blog.chinaunix.net/u/11234/showart_291316.html
openssl簡明使用手冊
http://firefly.iteye.com/blog/177544
簡要介紹了使用openssl來生成CA證書、申請證書、頒發(fā)證書以及撤銷證書的過程?
1. 首先建立CA密鑰:?
openssl genrsa -des3 -out ca.key 1024 (創(chuàng)建密鑰)?
chmod 400 ca.key (修改權(quán)限為僅root能訪問)?
openssl rsa -noout -text -in ca.key (查看創(chuàng)建的證書)?
2. 利用CA密鑰自簽署CA證書:?
openssl req -config openssl.cnf -new -x509 -days 3650 -key ca.key -out ca.crt?
chmod 400 ca.crt (修改權(quán)限為僅root能訪問)?
openssl x509 -noout -text -in ca.crt (查看創(chuàng)建的證書)?
3. 創(chuàng)建服務(wù)器證書簽署申請:?
openssl genrsa -des3 -out client.key 1024?
chmod 400 client.key (修改權(quán)限為僅root能訪問)?
openssl rsa -noout -text -in client.key (查看創(chuàng)建的證書)?
4. 利用證書簽署申請生成請求:?
openssl req -config openssl_client.cnf -new -key client.key -out client.csr?
openssl req -noout -text -in client.csr (查看創(chuàng)建的請求)?
5.進(jìn)行證書簽署:?
這時(shí)候需要先設(shè)置一下openssl的配置文件。?
modify openssl.cnf并根據(jù)這個(gè)配置文件創(chuàng)建相應(yīng)的目錄和文件。?
在創(chuàng)建了serial文件之后,還需要添加當(dāng)前的八進(jìn)制的serial number,如:01?
然后執(zhí)行:?
openssl ca -config openssl_client.cnf -keyfile ca.key -cert ca.crt -in client.csr -out client.pem -days 1095?
這個(gè)certificate是BASE64形式的,要轉(zhuǎn)成PKCS12才能裝到IE,/NETSCAPE上.所以還要:?
openssl pkcs12 -export -in client.pem -inkey client.key -out clinet.pfx?
6.證書撤銷:?
openssl ca -keyfile ca.key -cert ca.crt -revoke client.pem?
這時(shí)數(shù)據(jù)庫被更新證書被標(biāo)記上撤銷的標(biāo)志,需要生成新的證書撤銷列表:?
openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl/test.crl?
查看證書撤銷列表:?
openssl crl -noout -text -in crl/test.crl?
證書撤銷列表文件要在WEB站點(diǎn)上可以使用,必須將crldays或crlhours和crlexts加到證書中:?
openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl?
當(dāng)虛擬目錄不是在80端口且打開ssl時(shí)出錯(cuò) ssl_error_rx_record_too_long?
【錯(cuò)誤】如果網(wǎng)站URL是:http://ip:port/ 時(shí),如果再在網(wǎng)站上啟用ssl,在瀏覽器上訪問:https://ip:port/ 將會(huì)收到如下錯(cuò)誤:SSL 接收到一個(gè)超出最大準(zhǔn)許長度的記錄。錯(cuò)誤碼: ssl_error_rx_record_too_long
【原因】:
ssl協(xié)議默認(rèn)是在web server的443端口監(jiān)聽,所以,訪問ssl會(huì)產(chǎn)生如下形式的訪問:http://ip:443/ 這樣將與http://ip:port/ 里的port沖突。
【所以】:對https訪問,web server會(huì)自己定位到導(dǎo)用的了ssl的網(wǎng)站(啟用了ssql ,此網(wǎng)上就自動(dòng)在443上監(jiān)聽)上。
【解決 】 :對https://ip:port/ 的訪問可以省略port,如:對https://ip/
?
http://msn.ynet.com/view.jsp?oid=48723368+
javax.servlet.ServletException: Node with number 0 does not exist.
http://msn.sports.ynet.com/2008/view.jsp?oid=42362690
javax.servlet.ServletException: Node with number 42362690 does not exist.
?
【問題】
2009-3-12 15:06:31 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
嚴(yán)重: An incompatible version 1.1.1 of the Apache Tomcat Native library is installed, while Tomcat requires version 1.1.3
2009-3-12 15:06:31 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: An older version 1.1.1 of the Apache Tomcat Native library is installed, while Tomcat recommends version greater than 1.1.4
2009-3-12 15:06:31 org.apache.coyote.http11.Http11AprProtocol init
【解決 】
http://tomcat.heanet.ie/native/1.1.8/binaries/win32/
http://topic.csdn.net/u/20080605/14/68376d57-bb1b-4b45-a489-13aa722f2e67.html
下載 http://tomcat.heanet.ie/native/1.1.8/binaries/win32/tcnative-1.dll? 目前版本1.1.8
1、把文件放入C:\WINDOWS\system32里。或D:\tomcat5.5\bin下,我就是這樣解決的。
2、把它放在環(huán)境變量path中所指向的jdk的bin的目錄下,例如,放在C: Javajdk1.5.0_09bin目錄下?
Apache Tomcat Log
tomcat catalina.out日志切割每天生成一個(gè)文件
http://www.sbear.cn/archives/367
tomcat的catalina.out一直增長,太大了會(huì)造成tomcat異常,
需要對其日志進(jìn)行切割每天生成一個(gè)文件,并且刪除7天前的文件。
#!/bin/bash cd `dirname $0` d=`date +%Y%m%d` d7=`date -d'7 day ago' +%Y%m%d`? cd ../logs/ cp catalina.out catalina.out.$ze8trgl8bvbq echo "" > catalina.out rm -rf catalina.out.${d7}
放到tomcat的bin目錄中,然后crontab每天執(zhí)行
Tomcat APR (Apache Portable Runtime)
ref
http://redalx.iteye.com/blog/162246
http://blog.csdn.net/tingya/archive/2006/04/15/664304.aspx
apr說白了就是如何在Tomcat中使用JNI的方式來讀取文件以及進(jìn)行網(wǎng)絡(luò)傳輸, ?提高tomcat ?的IO效率。
apr可以大大提升Tomcat對靜態(tài)文件的處理性能,同時(shí)如果你使用了HTTPS方式傳輸?shù)脑?#xff0c;也可以提升SSL的處理性能。
doc
http://apr ?.apache.org/
http://tomcat.apache.org/tomcat-5.5-doc/apr.html
http://tomcat ?.apache.org/tomcat ?-6.0-doc/apr ?.html
down
http://tomcat.heanet.ie/native/
http://tomcat.heanet.ie/native/1.1.9/binaries/win32/tcnative-1.dll
setup for Windows
直接下載編譯好的二進(jìn)制版本的dll庫文件
http://tomcat.heanet.ie/native/1.1.9/binaries/win32/tcnative-1.dll來使Tomcat啟用APR ?
setup for linux
在Linux下,可以直接解壓和安裝bin目錄下的tomcat_native.tar.gz文件,編譯之前要確保apr庫已經(jīng)安裝,安裝的方式:
# ./configure --with-apr=/usr/local/apr
# make
# make install
安裝成功后還需要對tomcat設(shè)置環(huán)境變量,方法是在catalina.sh文件中增加一行:
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
怎么才能判斷Tomcat是否已經(jīng)啟用了APR庫呢?方法是通過看Tomcat的啟動(dòng)日志
如果沒有啟用APR,則啟動(dòng)日志一般有這么一條:
org.apache.coyote.http11.Http11Protocol start
如果啟用了APR,則這條日志就會(huì)變成:
?
使用了apr ?之后,如果使用了https,https的配置也需要作改變。需要用到openssl來進(jìn)行證書文件的生成。?
<!-- ssl for?apr ?-->?
<Connector port="8443" maxHttpHeaderSize="8192"?
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"?
enableLookups="false" disableUploadTimeout="true"?
acceptCount="100" scheme="https" secure="true"?
clientAuth="false"?
SSLEngine="on"?
SSLCertificateFile="..\conf\ca\server.crt"?
SSLCertificateKeyFile="..\conf\ca\server.key" />?
linux下編譯?
cd apache-tomcat ?-5.5.14/bin/tomcat ?-native-1.1.1/jni/native/?
./configure --with-apr ?=/usr/bin/apr ?-1-config --with-java-home=/usr/java/jdk1.5.0_06/?
make?
make install?
bin/catalina.sh?
加上?
CATALINA_OPTS="-Djava.library.path=/usr/local/apr ?/lib"
?
Apache Tomcat/5.5.23? Apache/2.0.61 (Unix) DAV/2 PHP/5.2.4 Server at msn.ent.ynet.com Port 80 http://msn.ent.ynet.com/photo.jsp?eid=57080047&bid=20331162&ofs=5&max=2 http://taobao.ent.ynet.com/photo.jsp?eid=49540108 502 Proxy Error Apache/2.0.61 (Unix) DAV/2 Server at taobao.ent.ynet.com Port 80 南京公安局 exception http://202.102.89.2/njga/addin/register/mainregister.jsp
HTTP Status 500 -
type ?Exception report
message
description ?The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Request[/persionRegister] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text.org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:215)org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:249)org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)javax.servlet.http.HttpServlet.service(HttpServlet.java:690)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:177)com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:29)cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:109)note ?The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14
http://photograph.baihe.com/photograph/uploadFile.do;jsessionid=E6483BF8E57118CF4E21CF7F8C6DD18C
Apache Tomcat/5.5
javax.servlet.ServletException: Processing of multipart/form-data request failed. Read timed out org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Read timed otomcat 添加gzip壓縮
http://bsb654321.iteye.com/blog/649053
?
在文件tomcat/conf/server.xml 中添加紅色部分的配置即可打開使用壓縮傳輸功能:????? <Connector port="8080" address="${jboss.bind.address}"
???????? maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
???????? emptySessionPath="true"
???????? enableLookups="false" redirectPort="8443" acceptCount="100"
???????? connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"
????????????? compression="on"???
???????? compressionMinSize="2048"???
???????? noCompressionUserAgents="gozilla, traviata"???
???????? compressableMimeType="application/java-archive,application/octet-stream,text/vnd.sun.j2me.app-descriptor,application/octet-stream, application/x-msdownload, p_w_picpath/png, p_w_picpath/gif, text/plain " />
compression 開關(guān)
noCompressionUserAgents 那種瀏覽器不使用壓縮功能
compressionMinSize????? 啟用壓縮的輸出內(nèi)容大小,這里面默認(rèn)為2KB
compressableMimeType??? 那些文件需要壓縮 mimetype
在tomcat/webapps/ 工程/WEB-INF/web.xml 中增加下面的配置 Xml代碼 ?
LambdaProbe監(jiān)控Tomcat 內(nèi)存參數(shù)解析
http://bbs.51testing.com/viewthread.php?tid=165106 tomcat monitor? JavaMelody / LambdaProbe http://jackyrong.iteye.com/blog/692004 之前介紹過一個(gè)監(jiān)視應(yīng)用的好工具JavaMelody,功能十分齊全,這次介紹個(gè)稍微小點(diǎn)的,專門為TOMCAT 而設(shè)計(jì)的。下面講解其用法:
1 下載:
http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip
2 解壓縮后,把probe.war放到TOMCAT的webapps下,設(shè)置server.xml
的context
3 設(shè)置用戶如下,在tomcat_user.xml中
?? vi /usr/local/tomcat/conf//tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
??????? <role rolename="manager"/>
??????? <role rolename="standard"/>
??????? <role rolename="tomcat"/>
??????? <role rolename="admin"/>
??????? <role rolename="role1"/>
??????? <user username="tomcat" password="tomcat" roles="tomcat"/>
??????? <user username="both" password="tomcat" roles="tomcat,role1"/>
??????? <user username="probe" password="probe" roles="admin,manager"/>
??????? <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
4 設(shè)置環(huán)境變量,獲取服務(wù)器狀態(tài)
# vi /etc/profile
JAVA_OPTS=-Dcom.sun.management.jmxremote
export JAVA_OPTS
5 重啟動(dòng)服務(wù)器
6 輸入http://localhost/probe/,輸入用戶名和密碼
7 即可進(jìn)入,這里比較精彩的是對內(nèi)存的監(jiān)視,動(dòng)態(tài)顯示了JVM的內(nèi)存圖表 http://jackyrong.iteye.com/blog/731308 今天在JAVAEYE首頁看到這個(gè)工具的推薦,看了下,不錯(cuò):
JavaMelody能夠在QA和實(shí)際運(yùn)行生產(chǎn)環(huán)境監(jiān)測Java或Java EE應(yīng)用程序服務(wù)器。并以圖表的形式顯示:Java內(nèi)存和Java CPU使用情況,用戶Session數(shù)量,JDBC連接數(shù),和http請求、sql請求、jsp頁面與業(yè)務(wù)接口方法(EJB3、Spring、 Guice)的執(zhí)行數(shù)量,平均執(zhí)行時(shí)間,錯(cuò)誤百分比等。圖表可以按天,周,月,年或自定義時(shí)間段查看。
使用配置如下:
1、到http://code.google.com/p/javamelody/downloads/list下載zip的壓縮包
2、解壓縮并將javamelody.war復(fù)制到Tomcat發(fā)布目錄下
3、在被監(jiān)控項(xiàng)目web.xml中加入如下代碼
<filter>???
??????? <filter-name>monitoring</filter-name>???
??????? <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>???
</filter>???
<filter-mapping>???
??????? <filter-name>monitoring</filter-name>???
??????? <url-pattern>/*</url-pattern>???
</filter-mapping>???
<listener>???
??????? <listener-class>net.bull.javamelody.SessionListener</listener-class>???
</listener>?
于是就可以使用了,更詳細(xì)的可以參考這里:
http://liuyes.iteye.com/blog/691752
linux上tomcat6配置SSL雙向認(rèn)證實(shí)現(xiàn)https安全訪問
http://ml365.iteye.com/blog/850001 1 使用工具:apache-tomcat-6.0.29
jdk1.6.23
2 過程描述:
?????? 2.1 在我方的服務(wù)器上,通過jdk工具keytool生成密鑰對以及個(gè)人證書(其實(shí)就是認(rèn)證申請文件.csr)。結(jié)果在我方生成兩個(gè)文件,分別是:tian.cer(導(dǎo)出的個(gè)人證書),tian.csr(輸出的認(rèn)證簽名申請文件)。
?????? 2.2 將生成的tian.csr發(fā)送給個(gè)CA方,他們會(huì)根據(jù)這個(gè)生成以下文件返回給我方:
Tian.crt(認(rèn)證后的我方服務(wù)器端的數(shù)字證書),Ct2.crt(電信根證書),test.p12(帶私鑰的個(gè)人證書)。以下是解釋:
根證書(ct2.crt)用于信任網(wǎng)站;個(gè)人證書(test.p12)用于向網(wǎng)站表明自己的身份。雙向。tomcat安裝ct2.crt、tian.crt,這個(gè)是向客戶端證明tomcat的身份;
客戶端安裝ct2.crt、test.p12,這個(gè)是向tomcat服務(wù)器證明自己的身份。tian.crt是我方服務(wù)器的認(rèn)證證書;ct2.crt是根 證書;test.p12是客戶端個(gè)人證書。tian.crt是ct2.crt根證書認(rèn)證的;test.p12也是ct2.crt根證書做認(rèn)證的。
2.3 把CA方發(fā)過來的ct2.crt和tian.crt加入到我方tomcat,讓服務(wù)器信任證書。
2.4 配置tomcat的server.xml配置文件,配置好https。
2.5 每個(gè)訪問的sp(瀏覽器)先把ct2.crt放在瀏覽器的可信任根目錄里,然后安裝導(dǎo)入個(gè)人證書(test.p12)之后。訪問我方地址https://IP:8443即可。
3 操作過程:
3.1? 生成密鑰對以及個(gè)人證書
命令:$ keytool -genkey -alias tian -keyalg RSA
3.2導(dǎo)出個(gè)人證書
命令:keytool -export -alias tian -file tian.cer
信息:輸入keystore密碼:
保存在文件中的認(rèn)證 <tian.cer>
3.3 輸出認(rèn)證簽名申請文件(.csr)
命令:keytool -certreq -file tian.csr -alias tian
信息:輸入keystore密碼:
3. 4 先導(dǎo)入根證書
命令:keytool -import -v -trustcacerts -file ct2.crt -alias ct2_root
信任這個(gè)認(rèn)證? [否]:? Y
認(rèn)證已添加至keystore中
[正在存儲(chǔ) /home/tomcat/.keystore]
3. 5 導(dǎo)入CA認(rèn)證過的證書(tian.crt)
命令:keytool -import -v -file tian.crt -alias tian
信息:
輸入keystore密碼:
認(rèn)證回復(fù)已安裝在 keystore中
[正在存儲(chǔ) /home/tomcat/.keystore]
3.6配置tomcat:
??? <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
?????????????? maxThreads="150" scheme="https" secure="true"
?????????? keystoreFile="/home/tomcat/.keystore"
????????? keystorePass="password"
??????? truststoreFile="/home/tomcat/.keystore"
?????? truststorePass="password"
???? clientAuth="true" sslProtocol="TLS" />
3.7 客服端安裝個(gè)人證書和根證書
3.8 訪問https://IP:8443出現(xiàn)提示你提交個(gè)人證書提示框。成功雙向認(rèn)證!
tomcat的https configuration
http://haoningabc.iteye.com/blog/906890
轉(zhuǎn)載http://www.chinaunix.net/jh/13/456376.html
http://andyj.iteye.com/blog/176470
keytool -genkey -alias tomcat -keyalg RSA -keystore test.keystore
生成awcloud.keystore,注意:第一個(gè)用戶名為本地計(jì)算機(jī)名稱,不能為ip,國家寫CN
keytool -list -keystore keystore
查看
keytool -certreq -keyalg RSA -alias tomcat -file test.csr -keystore test.keystore
生成test.csr
http://www.verisign.com/server2/trial/faq/index.html
Free 30-Day SSL Trial
VeriSign? SSL Test Certificate 點(diǎn)TRY
輸入郵箱,continue
Server platform:選apache
Paste Certificate Signing Request (CSR)輸入test.csr的內(nèi)容
收郵件后,點(diǎn)連接進(jìn)入,保存test.cer
keytool -import -alias root -keystore test.keystore -trustcacerts -file root.cer
keytool -
Tomcat的增加/查看jvm虛擬內(nèi)存
http://gqsunrise.iteye.com/blog/1176768
Win 操作系統(tǒng)? 第一種方法:? 修改 tomcat/bin/catalina.bat 文件? 增加一行 set JAVA_OPTS=-Xms256m -Xmx1024m
Linux 操作系統(tǒng)? 修改 tomcat/bin/catalina.sh 文件? 增加? JAVA_OPTS="-Xms256m -Xmx1024m"
http://localhost:8080/server-status 選擇“Server Status”,便可以看到JVM的占用情況
end
轉(zhuǎn)載于:https://blog.51cto.com/lya041/755214
總結(jié)
以上是生活随笔為你收集整理的webServer tomcat5/tomcat6/tomcat7诠释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL安装错误:/usr/local
- 下一篇: 认清SQL_Server_2005的基于