單獨(dú)使用Tomcat做JSP服務(wù)器,在工作效率上會(huì)有問(wèn)題,并且所能承受的最大并發(fā)連接數(shù)也有一定的限制;經(jīng)測(cè)試,當(dāng)并發(fā)連接較多時(shí),Tomcat就會(huì)處于“僵死”狀態(tài),對(duì)后繼的請(qǐng)求連接失去響應(yīng)。所以現(xiàn)在就有了一些“整合”解決方案: 將html與jsp的功能部分進(jìn)行明確分工,讓tomcat只處理jsp部分,其它的由apache,IIS等這些web server處理,由此大大節(jié)省了tomcat有限的工作“線程”。 當(dāng)然,使用IBM Websphere、BEA Weblogic、JBOSS等這些 J2EE服務(wù)器會(huì)是一個(gè)更好的解決方案,但只有應(yīng)用EJB才會(huì)發(fā)揮這些J2EE服務(wù)器的強(qiáng)大功能。 所以在這里,推薦Apache + Tomcat的“黃金組合”。在網(wǎng)上查找了一些資料,然后自己動(dòng)手實(shí)驗(yàn),折騰了近1個(gè)小時(shí),終于搞掂!現(xiàn)將具體過(guò)程總結(jié)如下,希望對(duì)大家能有所幫助:
我的運(yùn)行環(huán)境:Windows2k Server SP4 + J2SDK1.42 + Apache2.049 + Tomcat5.019 + SQL server2k **準(zhǔn)備軟件: 1、Apache 2.0.49 2、Tomcat 5.0.19 3、Jk2連接器(mod_jk2.so)
**開(kāi)始安裝:(這里的安裝路徑是任選的,只要視你的實(shí)際情況略做修改即可) Apache安裝在H:\Apache\Apache2 下,監(jiān)聽(tīng)端口 80;Tomcat在H:\Apache\Tomcat5.0 下,監(jiān)聽(tīng)端口 8080; 兩者都以windows NT服務(wù)進(jìn)行安裝。 將mod_jk2.so復(fù)制到H:\Apache\Apache2\modules目錄下: 1.編輯H:\Apache\Apache2\conf\httpd.conf文件,在LoadModule那一段代碼中添加: LoadModule jk2_module modules/mod_jk2.so 2.將AddDefaultCharset ISO-8859-1 改為 AddDefaultCharset GB2312 使Apache自動(dòng)支持中文顯示; 3.在“虛擬主機(jī)配置代碼段”中添加:(此段配置可以根據(jù)你的實(shí)際情況進(jìn)行修改) <VirtualHost *:80> ServerAdmin Pentium4xeon@etang.com DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT" ServerName www.sdg.com ErrorLog logs/sdg.com-error_log CustomLog logs/sdg.com-access_log common </VirtualHost>
**編寫(xiě)workers2.properties文件并加入H:\Apache\Apache2\conf目錄,內(nèi)容如下: [shm] file=${serverRoot}/logs/shm.file size=1048576 #The socket channel [channel.socket:localhost:8009] port=8009 host=127.0.0.1 #define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009 #uri mapping [uri:/*.jsp] worker=ajp13:localhost:8009
**由于tomcat5.019安裝時(shí)已經(jīng)有了 jk2.properties 文件,所以在這里就不用自己寫(xiě)了。(或許這就是高版本的好處之一吧 *^_^*)
**編寫(xiě)一個(gè)普通的html文件(index.html)與一個(gè)jsp文件(test.jsp),放在H:\Apache\Tomcat5.0\webapps\ROOT 下;現(xiàn)在最好重新啟動(dòng)一下計(jì)算機(jī)。 重新啟動(dòng)以后,啟動(dòng)apache和tomcat,http://www.sdg.com該是和http://www.sdg.com:8080一樣的了---顯示的都是index.html; 現(xiàn)在可以測(cè)試一下 test.jsp 了,http://www.sdg.com/test.jsp,怎么樣,順利通過(guò)了吧?
**下面測(cè)試Tomcat連接池部分,將網(wǎng)站的所有文件(html + jsp + javaBean + servlet)拷貝至H:\Apache\Tomcat5.0\webapps\ROOT 下,配置tomcat的server.xml文件,添加連接池。在我這兒,經(jīng)過(guò)測(cè)試,所有的功能部分都能正常工作。
下載:mod_jk2.so
*********后**********記************************* 1. 如果你的主頁(yè)是JSP頁(yè)面,你還需要配置一項(xiàng):
DirectoryIndex index.html index.html.var index.jsp
加上index.jsp就可以了 *^_^*
2. warning: ------------**整合以后,工作一直正常,但偶然打開(kāi)了Apache的 error.log文件,被嚇出一身冷汗~~~~有N多的錯(cuò)誤,有一行最顯眼兒: No such channel port:localhost:8019 .....Ajp13xx failed!
再仔細(xì)看了一下 worker2.properties 文件,發(fā)現(xiàn)里面有一項(xiàng)設(shè)置: [ajp13:localhost:8019] channel=channel.socket:localhost:8009
錯(cuò)誤指的8019端口就是這個(gè)了~ 隨即將 8019 改為 8009~ 現(xiàn)在再也沒(méi)出現(xiàn)這個(gè)問(wèn)題了~看來(lái)網(wǎng)上的資料有些時(shí)候不一定是最準(zhǔn)確的......(可能是筆誤吧~~~) :P
**---由此給大家?guī)У牟槐悖疑畋砬敢?
3. 又發(fā)現(xiàn)一個(gè)配置上的“小問(wèn)題”----
虛擬主機(jī)有一項(xiàng)配置:DocumentRoot項(xiàng),如果按照 DocumentRoot "H:\Apache\Tomcat5.0\webapps\ROOT" 配置的話,主機(jī)也能正常工作,但如果這時(shí)打開(kāi) logs/sdg.com-error_log 文件,就會(huì)發(fā)現(xiàn)有一行錯(cuò)誤提示:
**warning: "H:\\Apache\\Tomcat5.0\\webapps\\ROOT" doesn't exist!
經(jīng)嘗試,若改成: DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT" 則完全沒(méi)有任何警告信息出現(xiàn)在 error_log文件中~
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!