1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        整合apache和tomcat構建Web服務器 (1)

        發布時間:  2012/7/31 19:40:55

          linux是最常用的web服務器,本節我們將通過整合apache和tomcat構建一個java/jsp運行平臺,詳細介紹web服務器的搭建過程。
          一、  apache與tomcat整合的必要性
          Apache是最流行的Web服務器,開放源代碼,支持跨平臺的應用(可以運行在幾乎所有的Linux、Unix、Windows系統平臺上),尤其對Linux的支持相當完美。
          apache的優點有:
          l 功能強大,apache自帶了很多功能模塊,可根據需求編譯自己需要的模塊。
          l 配置簡單,apache的配置文件非常簡單,通過簡單的配置可實現強大功能。
          l 速度飛快,apache處理靜態頁面文件效率非常高,可以應對大并發和高負荷訪問請求。
          l 性能穩定,apache在高負荷請求下性能表現卓越,執行效率非常高。
          但是apache也有自身的缺點:
          l 只支持靜態網頁,對于jsp、php等動態網頁不支持
          l Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,因此,不太適合于多處理器環境。
          Tomcat是Sun和Apache合作做出來的JSPServer,有如下優點:
          l 支持Servlet和JSP,可以很好的處理動態網頁。
          l 跨平臺性好:Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統平臺。
          但是,tomcat也有自身缺點:
          l 處理靜態頁面效率不高:Tomcat本身可以做為Web Server,但是tomcat在處理靜態頁面時沒有Apache迅速。
          l 可配置性不強:tomcat不像Apache一樣配置簡單,穩定、強壯。
          綜上所述,通過相互的整合剛好彌補了各自的缺點,通過整合可以實現:
          l 客戶端請求靜態頁面時,由Apache服務器響應請求。
          l 客戶端請求動態頁面時,則是Tomcat服務器響應請求。
          l 通過apache信息過濾,實現網站動、靜頁面分離,保證了應用的可擴展性和安全性。
          既然要讓Apache和Tomcat協調工作,就必需有一個連接器把它們聯系起來,這就是下面要提到的Connector,下個小節具體講述Connector的選擇和使用。
          二、 Apache和Tomcat連接器
          Apache是模塊化的web服務器,這意味著核心中只包含實現最基本功能的模塊。擴展功能可以作為模塊動態加載來實現。為了讓apache和tomcat協調工作,開源愛好者們開發出了很多可以利用的模塊,在Apache2.2版本之前,一般有兩個模塊可供選擇:mod_jk2和mod_jk,mod_jk2模塊是比較早的一種連接器,在動、靜頁面過濾上可以使用正則表達式,因此使用配置靈活,但是mod_jk2模塊現在已經沒有開發人員支持了,版本更新也就此停止。繼承jk2模塊的是mod_jk模塊,mod_jk模塊支持Apache 1.x和2.X系列版本,現在一般都使用mod_jk做Apache和Tomcat的連接器。
          在Apache2.2版本以后,又出現了兩種連接器可供選擇,那就是http-proxy和proxy-ajp模塊,apache的proxy(代理)模塊可以實現雙向代理,功能非常強大,從連接器的實現原理看,用http-proxy模塊實現也是很自然的事情,只需打開tomcat的http功能,然后用apache的proxy代理功能將動態請求交給tomcat處理,而靜態數據交給apache自身就可以了。proxy-ajp模塊是專門為tomcat整合所開發的,通過ajp協議專門代理對tomcat的請求。根據官方的測試,proxy-ajp的執行效率要比http-proxy高,因此在Apache2.2以后的版本,用proxy-ajp模塊作為apache和tomcat的連接器是個不錯的選擇。
          需要說明的是,這些連接功能的實現,都是通過在apache中加載相應的功能模塊實現,比如上面提到的mod_jk、mod_jk2、proxy-ajp模塊,都要事先通過源碼編譯出對應的模塊,然后通過apache配置文件動態加載,實現連接器功能。這點也是apache的優勢所在。
          在下面的講述中,我們將重點講述mod_jk作為連接器的安裝配置與實現。
          三、 Apache與tomcat以及JK模塊的安裝
          下面以Red Hat Enterprise Linux Server release 5操作系統為例,詳細介紹apache+tomcat+jk的安裝過程。
          1.安裝apache
          Apache 目前有幾種主要版本,包括1.3.x、2.0.x以及2.2.x等等,在 1.3.x以前的版本中通常取名以apache開頭,2.x以后版本則用httpd開頭來命名。
          apache的官方地址為http://httpd.apache.org/,這里以源碼的方式進行安裝,我們下載的版本是Apache2.0.59,下載后的壓縮包文件為httpd-2.0.59.tar.gz。
          下面是具體的編譯安裝過程:
          [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安裝步驟以及選項的含義已經在第五章有詳細的介紹,這里不在詳述,這里我們設定apache的安裝路徑為/usr/local/apache2,“--enable-modules=most”表示將大部分模塊靜態編譯到httpd二進制文件中,“--enable-mods-shared=all”表示動態加載所有模塊,如果去掉-shared話,是靜態加載所有模塊。
          2.安裝tomcat
          Tomcat的官方地址http://jakarta.apache.org/ ,這里以二進制方式安裝,我們只需下載對應的二進制版本即可,這里使用的版本是tomcat-5.0.30,下載后的壓縮包文件為jakarta-tomcat-5.0.30.tar.gz,把此安裝包放到/usr/local目錄下,通過解壓即可完成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
          由于解壓后的目錄名字太長,不易操作,因此可以直接將解壓后的目錄重命名適合記憶的名字,這里我們將jakarta-tomcat-5.0.30重命名為tomcat5.0.30,軟件名稱加上軟件版本的格式便于記憶。
          3.安裝JDK
          在tomcat運行環境下,JDK是必不可少的軟件,因為tomcat只是一個Servlet/JSP容器,底層的操作都需要JDK來完成。
          JDK的安裝也非常簡單,只需到http://java.sun.com/下載對應的JDK即可,這里我們下載的版本是JDK1.6,對應的文件為jdk-6u7-linux-i586.bin,下載時將所需軟件包文件保存在/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
          然后根據提示輸入“yes”,程序會自動完成安裝,安裝完畢,會在/usr/local/下產生一個 jdk1.6.0_07目錄,這個就是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下運行正常。并且版本為1.6.0_07。
          4.安裝JK模塊
          為了更靈活的使用mod_jk連接器,這里我們采用源碼方式編譯出所需要的JK模塊,JK的源碼可以從這個地址去下載,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連接器,默認情況下JK模塊會自動安裝到/usr/local/apache2/modules目錄下,如果沒有自動安裝到此目錄,手動拷貝此文件到modules目錄即可。
          四、 apache與tomcat整合配置
          本節詳細講述apache和tomcat整合的詳細配置過程,這里假定web服務器的IP地址為192.168.60.198,測試的jsp程序放置在/webdata/www目錄下,如果沒有此目錄,需要首先創建這個目錄,因為在下面配置過程中,會陸續用到/webdata/www這個路徑。
          1.創建Tomcat workers
          Tomcat worker是一個服務于web server、等待執行servlet/JSP的Tomcat實例,創建tomcat workers需要增加3個配置文件,分別是Tomcat workers配置文件workers.properties,URL映射文件uriworkermap.properties和JK模塊日志輸出文件mod_jk.log,mod_jk.log文件會在apache啟動時自動創建,這里只需創建前兩個文件即可。
         。1)tomcat workers配置文件
          定義Tomcat workers的方法是在apache的conf目錄下編寫一個名為“workers.properties”的屬性文件,使其作為apache的插件來發揮作用,下面講述workers.properties配置說明。
          worker.list用來定義Workers列表,當apache啟動時,workers.properties作為插件將初始化出現在worker.list列表中的workers。
          定義worker類型的格式:
          worker.worker名字.type=
          例如:
          定義一個名為“tomcat12”的worker,其使用ajp12協議與tomcat 進程通訊:
          worker.tomcat12.type=ajp12
          定義一個名為“tomcat13”的worker,其使用ajp13協議與tomcat 進程通訊:
          worker.remote.type=ajp13
          定義一個名為“tomcatjni”的worker,其使用JNI的方式與tomcat 進程通訊
          worker.tomcatjni.type=jni
          定義一個名為“tomcatloadbalancer”的worker,作為對多個tomcat進程的負載平衡使用:
          worker.tomcatloadbalancer.type=lb
          設置worker屬性的格式為:
          worker.worker名字.屬性=
          這里只說明ajp13協議支持的幾個常用屬性:
          l Host:監聽ajp13請求的的tomcat worker主機地址
          l Port:tomcat worker主機監聽的端口。默認情況下tomcat在ajp13協議中使用的端口為8009。
          l lbfactor:當tomcat用作負載均衡時,此屬性被使用,表示此tomcat worker節點的負載均衡權值。
          下面是我們的workers.properties文件內容:
          [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過濾規則文件uriworkermap.properties
          也就是URI 映射文件,用來指定哪些 URL 由 Tomcat 處理,也可以直接在 httpd.conf 中配置這些 URI,但是獨立這些配置的好處是 JK 模塊會定期更新該文件的內容,使得我們修改配置的時候無需重新啟動 Apache 服務器。
          下面是我們的一個映射文件的內容:
          [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”表示將所有的請求都交給tomcat1來處理,而這個“tomcat1”就是我們在workers.properties文件中由worker.list指定的。這里的“/”是個相對路徑,表示存放網頁的根目錄,這

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


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线