亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Tomcat開發技術之與HTTP服務器的集成

2019-11-18 13:05:38
字體:
來源:轉載
供稿:網友

  Tomcat最主要的功能是提供Servlet/jsp容器,盡管它也可以作為獨立的java Web服務器,它在對靜態資源(如Html文件或圖像文件)的處理速度,以及提供的Web服務器治理功能方面都不如其他專業的HTTP服務器,如IIS和Apache服務器。
  
  因此在實際應用中,經常把Tomcat與其他HTTP服務器集成。對于不支持Servlet/JSP的HTTP服務器,可以通過Tomcat服務器來運行Servlet/JSP組件。
  
  當Tomcat與其他HTTP服務器集成時,Tomcat服務器的工作模式通常為進程外的Servlet容器,Tomcat服務器與其他HTTP服務器之間通過專門的插件來通信。關于Tomcat服務器的工作模式的概念可以參考本書1.4節。
  
  本章首先討論Tomcat與HTTP服務器集成的一般原理,然后介紹Tomcat與Apache以及IIS集成的具體步驟。
  
  22.1 Tomcat與HTTP服務器集成的原理
  
  Tomcat服務器通過Connector連接器組件與客戶程序建立連接,Connector組件負責接收客戶的請求,以及把Tomcat服務器的響應結果發送給客戶。默認情況下,Tomcat在server.xml中配置了兩種連接器:
  
  <!-- Define a non-SSL Coyote HTTP/1.1
  Connector on port 8080 -->
  <Connector port="8080"
  maxThreads="150"
  minSpareThreads="25"
  maxSpareThreads="75"
  enableLookups="false"
  redirectPort="8443"
  acceptCount="100"
  debug="0"
  connectionTimeout="20000"
  disableUploadTimeout="true" />
  
  <!-- Define a Coyote/JK2 AJP 1.3
  Connector on port 8009 -->
  <Connector port="8009"
  enableLookups="false"
  redirectPort="8443" debug="0"
  protocol="AJP/1.3" />
  
  第一個連接器監聽8080端口,負責建立HTTP連接。在通過瀏覽器訪問Tomcat服務器的Web應用時,使用的就是這個連接器。
  
  第二個連接器監聽8009端口,負責和其他的HTTP服務器建立連接。在把Tomcat與其他HTTP服務器集成時,就需要用到這個連接器。
  
  Web客戶訪問Tomcat服務器上JSP組件的兩種方式如圖22-1所示。
   Tomcat開發技術之與HTTP服務器的集成(圖一)
  圖22-1 Web客戶訪問Tomcat服務器上的JSP組件的兩種方式
  
  在圖22-1中,Web客戶1直接訪問Tomcat服務器上的JSP組件,他訪問的URL為http://localhost:8080/index.jsp。Web客戶2通過HTTP服務器訪問Tomcat服務器上的JSP組件。假定HTTP服務器使用的HTTP端口為默認的80端口,那么Web客戶2訪問的URL為http://localhost:80/index.jsp 或者 http://localhost/index.jsp。
  
  下面,介紹Tomcat與HTTP服務器之間是如何通信的。
  
  22.1.1 JK插件
  
  Tomcat提供了專門的JK插件來負責Tomcat和HTTP服務器的通信。應該把JK插件安置在對方的HTTP服務器上。當HTTP服務器接收到客戶請求時,它會通過JK插件來過濾URL,JK插件根據預先配置好的URL映射信息,決定是否要把客戶請求轉發給Tomcat服務器處理。
  
  假定在預先配置好的URL映射信息中,所有"/*.jsp"形式的URL都由Tomcat服務器來處理,那么在圖22-1的例子中,JK插件將把客戶請求轉發給Tomcat服務器,Tomcat服務器于是運行index.jsp,然后把響應結果傳給HTTP服務器,HTTP服務器再把響應結果傳給Web客戶2。
  
  對于不同的HTTP服務器,Tomcat提供了不同的JK插件的實現模塊。本章將用到以下JK插件:
  
  與Windows下的Apache HTTP服務器集成:mod_jk_2.0.46.dll
  
  與linux(RedHet)下的Apache HTTP服務器集成:mod_jk.so-ap2.0.46-rh72..46-rh72
  
  與IIS服務器集成:isapi_redirect.dll
  
  22.1.2 AJP協議
  
  AJP是為Tomcat與HTTP服務器之間通信而定制的協議,能提供較高的通信速度和效率。在配置Tomcat與HTTP服務器集成中,讀者可以不必關心AJP協議的細節。關于AJP的知識也可以參考網址:
  
  http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/doc/common/AJPv13.html
  
  22.2 在Windows下Tomcat與Apache服務器集成
  
  Apache HTTP服務器是Apache軟件組織提供的開放源代碼軟件,它是一個非常優秀的專業的Web服務器,為網絡治理員提供了豐富多彩的Web治理功能,包括目錄索引、目錄別名、內容協商、可配置的HTTP錯誤報告、CGI程序的SetUID執行、子進程資源治理、服務器端圖像映射、重寫URL、URL拼寫檢查以及聯機手冊等。
  
  Apache HTTP服務器本身沒有提供Servlet/JSP容器。因此,在實際應用中,把Tomcat與Apache集成,可以建立具有實用價值的商業化的Web平臺。在Windows NT/2000下Tomcat與Apache服務器集成需要預備的軟件參見表22-1。
  
  表22-1 在Windows NT/2000下Tomcat與Apache服務器集成需要預備的軟件
   Tomcat開發技術之與HTTP服務器的集成(圖二)
  1、安裝Apache HTTP服務器
  
  運行apache_2.0.47-win32-x86-no_ssl.msi,就啟動了Apache HTTP服務器的安裝程序,只要按默認設置進行安裝即可。假如安裝成功,會自動在Windows中加入Apache HTTP服務,如圖22-2所示。
   Tomcat開發技術之與HTTP服務器的集成(圖三)
  圖22-2 加入到Windows服務中的Apache服務
  
  假定Apache的根目錄為,在其conf子目錄下有一個配置文件httpd.conf。假如Apache安裝在本機,并且采用默認的80端口作為HTTP端口,在httpd.conf文件中會看到如下屬性:
  
  Listen 80
  ServerName localhost:80
  
  在操作系統的【開始】→【程序】→【Apache HTTP Server 2.0.47】→【Control Apache Server】菜單中,提供了重啟(Restart)、啟動(Start)和關閉(Stop)Apache服務器的子菜單。
  
  應該確保80端口沒有被占用,否則Apache服務器無法啟動。Apache服務器啟動后,就可以通過訪問Apache的測試頁來確定是否安裝成功。訪問http://localhost,假如出現如圖22-3所示的網頁,就說明Apache已經安裝成功了。
   Tomcat開發技術之與HTTP服務器的集成(圖四)
  圖22-3 Apache服務器的測試網頁
  
  2、在Apache中加入JK插件
  
  在Apache中加入JK插件,只要把mod_jk_2.0.46.dll拷貝到/modules目錄下即可。
  
  3、創建workers.PRoperties文件
  
  workers.properties文件用于配置Tomcat的信息,它的存放位置為 /conf/workers.properties。在本書配套光盤的sourcecode/chapter22/windows_apache目錄下提供了workers.properties文件,它的內容如下("#"后面為注釋信息):
  
  workers.tomcat_home=C:/jakarta-tomcat
  #讓mod_jk模塊知道Tomcat
  workers.java_home=C:/j2sdk1.4.2
  #讓mod_jk模塊知道j2sdk
  ps=#指定文件路徑分割符
  worker.list=worker1
  worker.worker1.port=8009
  #工作端口,若沒占用則不用修改
  worker.worker1.host=localhost
  #Tomcat服務器的地址
  worker.worker1.type=ajp13
  #類型
  worker.worker1.lbfactor=1
  #負載平衡因數
  
  以上文件中的屬性描述參見表22-2。
  
  表22-2 workers.properties文件的屬性
   Tomcat開發技術之與HTTP服務器的集成(圖五)
  4、修改Apache的配置文件httpd.conf
  
  打開/conf/httpd.conf文件,在其末尾加入以下內容:
  
  # Using mod_jk2.dll to
  redirect dynamic calls to Tomcat
  LoadModule jk_module
  modules/mod_jk_2.0.46.dll
  JkWorkersFile
  "conf/workers.properties"
  JkLogFile "logs/mod_jk2.log"
  JkLogLevel debug
  JkMount /*.jsp worker1
  JkMount /helloapp/* worker1
  
  在本書配套光盤的sourcecode/chapter22/windows_apache/httpd_modify.conf文件中提供了以上內容,它指示Apache服務器加載JK插件,并且為JK插件設置相關屬性,這些屬性的描述參見表22-3。
  
  表22-3 JK插件的相關屬性
  Tomcat開發技術之與HTTP服務器的集成(圖六)
  JkMount用來指定URL映射信息,"JkMount /*.jsp worker1"表示"/*.jsp"形式的URL都由worker1代表的Tomcat服務器來處理;"JkMount /helloapp/* worker1"表示訪問helloapp應用的URL都由worker1來處理。
  
  5、測試配置
  
  重啟Tomcat服務器和Apache服務器,通過瀏覽器訪問http://localhost/index.jsp,假如出現Tomcat的默認主頁,說明配置已經成功。此外,假如在Tomcat服務器上已經發布了helloapp應用,可以訪問http://localhost/helloapp/index.htm,假如正常返回helloapp應用的index.htm網頁,說明配置已經成功。
  
  假如配置有誤,可以查看JK插件生成的日志信息,它有助于查找錯誤原因。在Apache的配置文件httpd.conf中設定該日志文件的存放位置為/logs/mod_jk2.log
  
  6、Apache與多個Tomcat服務器集成時的負載平衡
  
  在實際應用中,假如網站的訪問量非常大,為了提高訪問速度,可以將多個Tomcat服務器與Apache集成,讓它們共同分擔運行Servlet/JSP組件的任務。 JK插件的loadbalancer(負載平衡器)負責根據在workers.properties文件中預先配置的lbfactor(負載平衡因數)為這些Tomcat服務器分配工作負荷,實現負載平衡。
  
  假定Apache和兩個Tomcat服務器集成,一個Tomcat服務器和Apache運行在同一臺機器上,使用的JK端口為8

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩美女中文字幕| 久久6免费高清热精品| 黑人巨大精品欧美一区二区| 国产精品福利无圣光在线一区| 456亚洲影院| 热门国产精品亚洲第一区在线| 日韩中文字幕av| 55夜色66夜色国产精品视频| 日韩不卡在线观看| 国产在线观看不卡| 萌白酱国产一区二区| 色综久久综合桃花网| 国语自产精品视频在免费| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品美女主播在线观看纯欲| 亚洲无av在线中文字幕| 国产一区二区三区在线免费观看| 中文字幕日韩高清| 欧美日韩亚洲国产一区| 久久久久久久久久久人体| 亚洲在线免费视频| 91精品国产电影| 综合欧美国产视频二区| 久久人人爽亚洲精品天堂| 亚洲影院高清在线| 国产精品6699| 中文字幕亚洲二区| 456国产精品| 国产一区香蕉久久| 国产成人av在线| 91成人国产在线观看| 国产一级揄自揄精品视频| 中文字幕精品网| 欧美大学生性色视频| 亚洲第一色在线| 日韩精品在线观看一区二区| 久久全国免费视频| 亚洲最大福利网| 欧美丰满少妇xxxxx做受| 欧美成年人视频网站欧美| 久久久久久久国产| 欧美精品福利在线| 91亚洲精品一区二区| 日本视频久久久| 久久精品一偷一偷国产| 欧美成人在线免费| 日本精品视频网站| 国产精品27p| 国产婷婷97碰碰久久人人蜜臀| 日韩中文在线观看| 亚洲国产精品高清久久久| 欧美日韩亚洲高清| 久久久久日韩精品久久久男男| 国内免费精品永久在线视频| 国产精品入口福利| 一区二区欧美日韩视频| 欧美亚洲国产另类| 亚洲欧美日韩直播| 欧美在线视频免费播放| 国产综合福利在线| 久久精品视频免费播放| 久久综合电影一区| 日韩一区av在线| 国产精品在线看| 亚洲2020天天堂在线观看| 伊人男人综合视频网| 亚洲男人av在线| 国产精品2018| 最近2019中文字幕大全第二页| 欧美一性一乱一交一视频| 亚洲最大成人免费视频| 一本色道久久88亚洲综合88| 97精品欧美一区二区三区| 国产日韩欧美电影在线观看| 久久精品国产久精国产一老狼| 日韩av电影在线免费播放| 欧美最猛黑人xxxx黑人猛叫黄| 91成人在线观看国产| 国产精品一区二区久久国产| 亚洲精选在线观看| 国产主播欧美精品| 91av在线播放| 亚洲第一区中文99精品| 国产精品久久久久久久久免费| 亚洲欧美日韩网| 欧美放荡办公室videos4k| 欧美中文字幕视频在线观看| 亚洲加勒比久久88色综合| 欧美怡春院一区二区三区| 超薄丝袜一区二区| 亚洲综合日韩中文字幕v在线| 国产精品劲爆视频| 亚洲精品理论电影| 亚洲人成欧美中文字幕| 高清亚洲成在人网站天堂| 亚洲国模精品私拍| 国产一区二区三区欧美| 国产亚洲人成a一在线v站| 91老司机精品视频| 91wwwcom在线观看| 91香蕉嫩草神马影院在线观看| 最近2019中文字幕一页二页| 亚洲国产精品va在线看黑人动漫| 久久精品国产亚洲精品| 国产精品欧美风情| 播播国产欧美激情| www国产精品com| 2020久久国产精品| 亚洲天堂av在线播放| 国产精品一区二区在线| 一区二区三区回区在观看免费视频| 久久精品国产亚洲精品| 欧美激情欧美激情| 精品久久中文字幕久久av| 国内久久久精品| 日韩视频―中文字幕| 亚洲深夜福利在线| 国产精品久久一区主播| 日韩成人性视频| 精品欧美国产一区二区三区| 日韩精品中文在线观看| 色婷婷久久一区二区| 亚洲人成电影网站色xx| 久久99精品久久久久久噜噜| 国产不卡在线观看| 亚洲91av视频| 欧美在线观看一区二区三区| 在线亚洲国产精品网| 中文字幕亚洲第一| 欧美激情亚洲精品| 亚洲精品福利在线观看| 5252色成人免费视频| 欧美理论在线观看| 国产视频观看一区| 美女av一区二区| 91黄色8090| 91国自产精品中文字幕亚洲| 中文字幕日韩综合av| 欧美极品第一页| 性夜试看影院91社区| 国产精品欧美激情| 一区二区在线视频| 精品国产一区二区在线| 精品毛片网大全| 欧美大肥婆大肥bbbbb| 九九热这里只有精品免费看| 日韩av综合中文字幕| 欧美黄色片视频| 日韩国产欧美精品在线| 精品国偷自产在线视频99| 中文字幕日韩有码| 亚洲男人天堂九九视频| 欧美另类精品xxxx孕妇| 亚洲欧美中文字幕在线一区| 91精品国产自产在线观看永久| 国产精品专区第二| 国产精品视频网| 欧美激情三级免费| 亚洲肉体裸体xxxx137| 68精品国产免费久久久久久婷婷| 91精品国产高清久久久久久久久| 在线免费看av不卡| 国产精品草莓在线免费观看| 久久久久一本一区二区青青蜜月|