亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

整合apache和tomcat構(gòu)建Web服務(wù)器 (1)

發(fā)布時(shí)間:  2012/7/31 19:40:55

  linux是最常用的web服務(wù)器,本節(jié)我們將通過(guò)整合apache和tomcat構(gòu)建一個(gè)java/jsp運(yùn)行平臺(tái),詳細(xì)介紹web服務(wù)器的搭建過(guò)程。
  一、  apache與tomcat整合的必要性
  Apache是最流行的Web服務(wù)器,開(kāi)放源代碼,支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Linux、Unix、Windows系統(tǒng)平臺(tái)上),尤其對(duì)Linux的支持相當(dāng)完美。
  apache的優(yōu)點(diǎn)有:
  l 功能強(qiáng)大,apache自帶了很多功能模塊,可根據(jù)需求編譯自己需要的模塊。
  l 配置簡(jiǎn)單,apache的配置文件非常簡(jiǎn)單,通過(guò)簡(jiǎn)單的配置可實(shí)現(xiàn)強(qiáng)大功能。
  l 速度飛快,apache處理靜態(tài)頁(yè)面文件效率非常高,可以應(yīng)對(duì)大并發(fā)和高負(fù)荷訪問(wèn)請(qǐng)求。
  l 性能穩(wěn)定,apache在高負(fù)荷請(qǐng)求下性能表現(xiàn)卓越,執(zhí)行效率非常高。
  但是apache也有自身的缺點(diǎn):
  l 只支持靜態(tài)網(wǎng)頁(yè),對(duì)于jsp、php等動(dòng)態(tài)網(wǎng)頁(yè)不支持
  l Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開(kāi)支,因此,不太適合于多處理器環(huán)境。
  Tomcat是Sun和Apache合作做出來(lái)的JSPServer,有如下優(yōu)點(diǎn):
  l 支持Servlet和JSP,可以很好的處理動(dòng)態(tài)網(wǎng)頁(yè)。
  l 跨平臺(tái)性好:Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統(tǒng)平臺(tái)。
  但是,tomcat也有自身缺點(diǎn):
  l 處理靜態(tài)頁(yè)面效率不高:Tomcat本身可以做為Web Server,但是tomcat在處理靜態(tài)頁(yè)面時(shí)沒(méi)有Apache迅速。
  l 可配置性不強(qiáng):tomcat不像Apache一樣配置簡(jiǎn)單,穩(wěn)定、強(qiáng)壯。
  綜上所述,通過(guò)相互的整合剛好彌補(bǔ)了各自的缺點(diǎn),通過(guò)整合可以實(shí)現(xiàn):
  l 客戶端請(qǐng)求靜態(tài)頁(yè)面時(shí),由Apache服務(wù)器響應(yīng)請(qǐng)求。
  l 客戶端請(qǐng)求動(dòng)態(tài)頁(yè)面時(shí),則是Tomcat服務(wù)器響應(yīng)請(qǐng)求。
  l 通過(guò)apache信息過(guò)濾,實(shí)現(xiàn)網(wǎng)站動(dòng)、靜頁(yè)面分離,保證了應(yīng)用的可擴(kuò)展性和安全性。
  既然要讓Apache和Tomcat協(xié)調(diào)工作,就必需有一個(gè)連接器把它們聯(lián)系起來(lái),這就是下面要提到的Connector,下個(gè)小節(jié)具體講述Connector的選擇和使用。
  二、 Apache和Tomcat連接器
  Apache是模塊化的web服務(wù)器,這意味著核心中只包含實(shí)現(xiàn)最基本功能的模塊。擴(kuò)展功能可以作為模塊動(dòng)態(tài)加載來(lái)實(shí)現(xiàn)。為了讓apache和tomcat協(xié)調(diào)工作,開(kāi)源愛(ài)好者們開(kāi)發(fā)出了很多可以利用的模塊,在Apache2.2版本之前,一般有兩個(gè)模塊可供選擇:mod_jk2和mod_jk,mod_jk2模塊是比較早的一種連接器,在動(dòng)、靜頁(yè)面過(guò)濾上可以使用正則表達(dá)式,因此使用配置靈活,但是mod_jk2模塊現(xiàn)在已經(jīng)沒(méi)有開(kāi)發(fā)人員支持了,版本更新也就此停止。繼承jk2模塊的是mod_jk模塊,mod_jk模塊支持Apache 1.x和2.X系列版本,現(xiàn)在一般都使用mod_jk做Apache和Tomcat的連接器。
  在Apache2.2版本以后,又出現(xiàn)了兩種連接器可供選擇,那就是http-proxy和proxy-ajp模塊,apache的proxy(代理)模塊可以實(shí)現(xiàn)雙向代理,功能非常強(qiáng)大,從連接器的實(shí)現(xiàn)原理看,用http-proxy模塊實(shí)現(xiàn)也是很自然的事情,只需打開(kāi)tomcat的http功能,然后用apache的proxy代理功能將動(dòng)態(tài)請(qǐng)求交給tomcat處理,而靜態(tài)數(shù)據(jù)交給apache自身就可以了。proxy-ajp模塊是專門為tomcat整合所開(kāi)發(fā)的,通過(guò)ajp協(xié)議專門代理對(duì)tomcat的請(qǐng)求。根據(jù)官方的測(cè)試,proxy-ajp的執(zhí)行效率要比http-proxy高,因此在Apache2.2以后的版本,用proxy-ajp模塊作為apache和tomcat的連接器是個(gè)不錯(cuò)的選擇。
  需要說(shuō)明的是,這些連接功能的實(shí)現(xiàn),都是通過(guò)在apache中加載相應(yīng)的功能模塊實(shí)現(xiàn),比如上面提到的mod_jk、mod_jk2、proxy-ajp模塊,都要事先通過(guò)源碼編譯出對(duì)應(yīng)的模塊,然后通過(guò)apache配置文件動(dòng)態(tài)加載,實(shí)現(xiàn)連接器功能。這點(diǎn)也是apache的優(yōu)勢(shì)所在。
  在下面的講述中,我們將重點(diǎn)講述mod_jk作為連接器的安裝配置與實(shí)現(xiàn)。
  三、 Apache與tomcat以及JK模塊的安裝
  下面以Red Hat Enterprise Linux Server release 5操作系統(tǒng)為例,詳細(xì)介紹apache+tomcat+jk的安裝過(guò)程。
  1.安裝apache
  Apache 目前有幾種主要版本,包括1.3.x、2.0.x以及2.2.x等等,在 1.3.x以前的版本中通常取名以apache開(kāi)頭,2.x以后版本則用httpd開(kāi)頭來(lái)命名。
  apache的官方地址為http://httpd.apache.org/,這里以源碼的方式進(jìn)行安裝,我們下載的版本是Apache2.0.59,下載后的壓縮包文件為httpd-2.0.59.tar.gz。
  下面是具體的編譯安裝過(guò)程:
  [root@webserver ~]#tar -zxvf  httpd-2.0.59.tar.gz
  [root@webserver ~]#cd httpd-2.0.59
  [root@webserver ~]#./configure --prefix=/usr/local/apache2 \
  --enable-modules=most \
  --enable-mods-shared=all \
  --enable-so \
  [root@webserver ~]#make
  [root@webserver ~]#make install
  Apache安裝步驟以及選項(xiàng)的含義已經(jīng)在第五章有詳細(xì)的介紹,這里不在詳述,這里我們?cè)O(shè)定apache的安裝路徑為/usr/local/apache2,“--enable-modules=most”表示將大部分模塊靜態(tài)編譯到httpd二進(jìn)制文件中,“--enable-mods-shared=all”表示動(dòng)態(tài)加載所有模塊,如果去掉-shared話,是靜態(tài)加載所有模塊。
  2.安裝tomcat
  Tomcat的官方地址http://jakarta.apache.org/ ,這里以二進(jìn)制方式安裝,我們只需下載對(duì)應(yīng)的二進(jìn)制版本即可,這里使用的版本是tomcat-5.0.30,下載后的壓縮包文件為jakarta-tomcat-5.0.30.tar.gz,把此安裝包放到/usr/local目錄下,通過(guò)解壓即可完成tomcat的安裝。
  基本步驟如下:
  [root@webserver local]# tar -zxvf jakarta-tomcat-5.0.30.tar.gz
  [root@webserver local]#mv jakarta-tomcat-5.0.30  tomcat5.0.30
  由于解壓后的目錄名字太長(zhǎng),不易操作,因此可以直接將解壓后的目錄重命名適合記憶的名字,這里我們將jakarta-tomcat-5.0.30重命名為tomcat5.0.30,軟件名稱加上軟件版本的格式便于記憶。
  3.安裝JDK
  在tomcat運(yùn)行環(huán)境下,JDK是必不可少的軟件,因?yàn)閠omcat只是一個(gè)Servlet/JSP容器,底層的操作都需要JDK來(lái)完成。
  JDK的安裝也非常簡(jiǎn)單,只需到http://java.sun.com/下載對(duì)應(yīng)的JDK即可,這里我們下載的版本是JDK1.6,對(duì)應(yīng)的文件為jdk-6u7-linux-i586.bin,下載時(shí)將所需軟件包文件保存在/usr/local目錄下,安裝步驟如下:
  [root@webserver ~]#cd  /usr/local
  [root@webserver local]#chmod 755 jdk-6u7-linux-i586.bin
  [root@webserver local]#./jdk-6u7-linux-i586.bin
  然后根據(jù)提示輸入“yes”,程序會(huì)自動(dòng)完成安裝,安裝完畢,會(huì)在/usr/local/下產(chǎn)生一個(gè) jdk1.6.0_07目錄,這個(gè)就是JDK的程序目錄了。
  [root@localhost local]# /usr/local/jdk1.6.0_07/bin/java -version
  java version "1.6.0_07"
  Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
  Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)
  從上面輸出可以看出,JDK在我們的linux下運(yùn)行正常。并且版本為1.6.0_07。
  4.安裝JK模塊
  為了更靈活的使用mod_jk連接器,這里我們采用源碼方式編譯出所需要的JK模塊,JK的源碼可以從這個(gè)地址去下載,http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/,但是不保證此連接永久有效,這里采用的JK版本為jk-1.2.15。
  下載后的JK源碼壓縮包文件為jakarta-tomcat-connectors-current-src.tar.gz,這里也將此壓縮包放到/usr/local下,具體安裝步驟如下:
  [root@webserver ~]# cd /usr/local/
  [root@webserver local]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
  [root@webserver local]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
  [root@webserver native]#chmod 755 buildconf.sh
  [root@webserver native]# ./buildconf.sh
  [root@webserver native]#./configure \ --with-apxs=/usr/local/apache2/bin/apxs  #這里指定的是apache安裝目錄中apxs的位置
  [root@webserver native]# make
  [root@webserver native]# make install
  [root@webserver native]# cd apache-2.0
  [root@webserver native]#ll mod_jk.so
  -rwxr-xr-x 1 root root 477305 Oct  9 08:49 mod_jk.so
  可以看到有mod_jk.so文件生成,這就是我們需要的JK連接器,默認(rèn)情況下JK模塊會(huì)自動(dòng)安裝到/usr/local/apache2/modules目錄下,如果沒(méi)有自動(dòng)安裝到此目錄,手動(dòng)拷貝此文件到modules目錄即可。
  四、 apache與tomcat整合配置
  本節(jié)詳細(xì)講述apache和tomcat整合的詳細(xì)配置過(guò)程,這里假定web服務(wù)器的IP地址為192.168.60.198,測(cè)試的jsp程序放置在/webdata/www目錄下,如果沒(méi)有此目錄,需要首先創(chuàng)建這個(gè)目錄,因?yàn)樵谙旅媾渲眠^(guò)程中,會(huì)陸續(xù)用到/webdata/www這個(gè)路徑。
  1.創(chuàng)建Tomcat workers
  Tomcat worker是一個(gè)服務(wù)于web server、等待執(zhí)行servlet/JSP的Tomcat實(shí)例,創(chuàng)建tomcat workers需要增加3個(gè)配置文件,分別是Tomcat workers配置文件workers.properties,URL映射文件uriworkermap.properties和JK模塊日志輸出文件mod_jk.log,mod_jk.log文件會(huì)在apache啟動(dòng)時(shí)自動(dòng)創(chuàng)建,這里只需創(chuàng)建前兩個(gè)文件即可。
 。1)tomcat workers配置文件
  定義Tomcat workers的方法是在apache的conf目錄下編寫(xiě)一個(gè)名為“workers.properties”的屬性文件,使其作為apache的插件來(lái)發(fā)揮作用,下面講述workers.properties配置說(shuō)明。
  worker.list用來(lái)定義Workers列表,當(dāng)apache啟動(dòng)時(shí),workers.properties作為插件將初始化出現(xiàn)在worker.list列表中的workers。
  定義worker類型的格式:
  worker.worker名字.type=
  例如:
  定義一個(gè)名為“tomcat12”的worker,其使用ajp12協(xié)議與tomcat 進(jìn)程通訊:
  worker.tomcat12.type=ajp12
  定義一個(gè)名為“tomcat13”的worker,其使用ajp13協(xié)議與tomcat 進(jìn)程通訊:
  worker.remote.type=ajp13
  定義一個(gè)名為“tomcatjni”的worker,其使用JNI的方式與tomcat 進(jìn)程通訊
  worker.tomcatjni.type=jni
  定義一個(gè)名為“tomcatloadbalancer”的worker,作為對(duì)多個(gè)tomcat進(jìn)程的負(fù)載平衡使用:
  worker.tomcatloadbalancer.type=lb
  設(shè)置worker屬性的格式為:
  worker.worker名字.屬性=
  這里只說(shuō)明ajp13協(xié)議支持的幾個(gè)常用屬性:
  l Host:監(jiān)聽(tīng)ajp13請(qǐng)求的的tomcat worker主機(jī)地址
  l Port:tomcat worker主機(jī)監(jiān)聽(tīng)的端口。默認(rèn)情況下tomcat在ajp13協(xié)議中使用的端口為8009。
  l lbfactor:當(dāng)tomcat用作負(fù)載均衡時(shí),此屬性被使用,表示此tomcat worker節(jié)點(diǎn)的負(fù)載均衡權(quán)值。
  下面是我們的workers.properties文件內(nèi)容:
  [root@localhost ~]#vi /usr/local/apache2/conf/workers.properties
  worker.list=tomcat1
  worker.tomcat1.port=8009
  worker.tomcat1.host=localhost
  worker.tomcat1.type=ajp13
  worker.tomcat1.lbfactor=1
 。2)URL過(guò)濾規(guī)則文件uriworkermap.properties
  也就是URI 映射文件,用來(lái)指定哪些 URL 由 Tomcat 處理,也可以直接在 httpd.conf 中配置這些 URI,但是獨(dú)立這些配置的好處是 JK 模塊會(huì)定期更新該文件的內(nèi)容,使得我們修改配置的時(shí)候無(wú)需重新啟動(dòng) Apache 服務(wù)器。
  下面是我們的一個(gè)映射文件的內(nèi)容:
  [root@localhost ~]#vi  /usr/local/apache2/conf/uriworkermap.properties
  /*=tomcat1
  !/*.jpg=tomcat1
  !/*.gif=tomcat1
  !/*.png=tomcat1
  !/*.bmp=tomcat1
  !/*.html=tomcat1
  !/*.htm=tomcat1
  !/*.swf=tomcat1
  !/*.css= tomcat1
  !/*.js= tomcat1
  在上面的配置文件中,“/*=tomcat1”表示將所有的請(qǐng)求都交給tomcat1來(lái)處理,而這個(gè)“tomcat1”就是我們?cè)趙orkers.properties文件中由worker.list指定的。這里的“/”是個(gè)相對(duì)路徑,表示存放網(wǎng)頁(yè)的根目錄,這

億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯(lián)系:億恩小凡
   QQ:89317007
   電話:0371-63322206


本文出自:億恩科技【m.1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線