第一篇、Apache和Tomcat的整合


1、web架構

         首先上圖,解釋web通用架構

 

      通常情況下分為三大塊 :

    ★ Web server :  通常情況下由 Apache Http Server  、 IBM Http Server  、IIS(很少用到)  組成,可以是一個或者多個 ,企業應用程序走WebServer訪問,防止將應用EAR包、War

包暴漏在外網環境,增加系統的安全性,同時可用來分發用戶請求(在集群的環境下),解析靜態文件(例如js,img,css等文件)降低應用程序的壓力(在很多應用程序中訪問靜態文件走的是系統Action

來獲取,這樣子達不到降壓的效果,WebServer組件會將其當作為動態資源去獲取).

           ★ App Server :   通常為我們的web容器 Tomcat、Weblogic、WebSphere、Jboss 等 ,應用程序運行在web容器中,應用服務器一般都有多個,其和WebServer的鏈接必定是通過企業內網

如果是外網鏈接那么這樣的架構也就失去了意義 .

           ★ DB Server : 這個一看就知道是什么了,數據庫服務器 .

       生產環境下,外網用戶通過WebServer層來訪問系統,在安全性要求不是非常高的情況下,內網用戶可以直接訪問AppServer,一般情況下企業員工也不會對企業應用進行攻擊,如果存在這樣的人,那

就要從自身素質考慮的 嘿嘿...

2、Apache + Tomcat

      Ⅰ說明

           Apache Http Server 為apache下opensource項目,是應用比較廣泛的Web Server組件,可以到官網下載安裝http://httpd.apache.org/

      

      Ⅱapache的安裝

           實驗環境在window下直接雙擊安裝程序進行安裝,在Linux下請參考官網指南 http://httpd.apache.org/docs/2.2/install.html 寫的很詳細.

       

         Next 到下面的界面

       

        Server Name 需要配置正確,使用計算機名(保證能ping通) 如圖 :

       

        填寫完畢后繼續Next

      

       選擇自定義安裝后Next

      

        設置安裝路徑 不要有中文或者空格

      

       開始安裝Install

      

       安裝完成以后在屏幕右下角出現:

     

      點擊該圖標

     

      表示當前apache在運行.

      開始菜單增加了apache的信息

    

 

     打開瀏覽器輸入 http://localhost 得到如下結果:

   

      至此 apache 安裝成功 ! 耶...

    

     Ⅲ   Apache Http Server 配置

           找到安裝目錄 conf/httpd.conf 文件並打開,搜索documentRoot字段

       

       將DocumentRoot修改如下:

    #DocumentRoot "D:/ software/Apache2.2/htdocs"

    DocumentRoot "d:/deployment"

     繼續往下修改,找到

#
# This should be changed to whatever you set DocumentRoot to.
#

將<Directory "D:/software/Apache2.2/htdocs">修改如下

#<Directory "D:/software/Apache2.2/htdocs">
<Directory "D:/deployment">

      修改完畢以后測試一下修改配置文件是否正確

     

     如果正確則命令行窗口會一閃而過。

     通過以上的配置將apache的工作文件目錄修改到了d:\deployment文件夾下,因此在d盤下創建對應的目錄,並建立一個index.html文件。apache 默認訪問文件目錄下index.html文件,在httpd.conf

文件中設置 : 

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

     建立目錄如下: 

     

     重啟apache

     

     訪問 http://localhost

     

 

    Ⅳ tomcat的安裝

      tomcat的安裝應該是每個開發人員都會的,這里使用的是解壓版的tomcat7 

      

    Ⅴ 整合

            准備工作都已完畢,整合開始    

            apache 只能解析靜態的文件(例如剛訪問的index.html,但是遇到index.jsp就無法解析),如果遇到動態的文件就需要交給web容器來解析(這里是tomcat)。

            那么如何將動態資源的解析交給tomcat的 ??? 

            apache有一個叫mod_jk的模塊,通過配置表示式后將請求通過mod_jk 然后傳遞給tomcat 。

            操作步驟:

              1. 加入mod_jk模塊 

                      該模塊名稱為: mod_jk-1.2.31-httpd-2.2.3.so,將其加入到apache安裝目錄下modules下 

                      

                      

 

 

 

              2. 配置解析表達式

 

                      打開httpd.conf文件,在文件末尾追加如下內容: 

 

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
JKWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
<VirtualHost *>
DirectoryIndex index.html index.htm index.jsp index.action
ErrorLog logs/error_log.txt
CustomLog logs/access_log.txt common

JkMount /*WEB-INF ajp13
JkMount /*.action ajp13
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /*.action ajp13
JkMount /*.json ajp13
JkMount /WebDemo/HelloWorld ajp13
</VirtualHost>

 

 

                      該段配置作用如下: 

           

                   在conf目錄下建立worders.properties文件,其內容如下

workers.tomcat_home=D:/software/apache-tomcat-7.0.53-windows-x86/apache-tomcat-7.0.53
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

                  √  workers.tomcat_home:用來指定tomcat的位置

       √  worker.list :指定工作的的web容器映射

                  √  worker.ajp13.host : 訪問host

                  √  worker.ajp13.type: 訪問協議

             在tomcat安裝目錄conf/server.xml文件中指定了8009端口訪問的協議

         

 

              3. 在tomcat中部署應用,通過apache來訪問  

                  通過maven創建了一個web工程 打包為WebDemo,放入tomcat的webapps目錄下,啟動tomcat並重啟apache,訪問 http://localhost/WebDemo 得到

             

               出錯了!  這是正常的,此時還需要將webapps下的WebDemo文件夾復制到d:/deployment下,復制好后將其中的WEB-INF文件夾刪除(這部分的內容將通過JkMount表達式來傳遞)

              操作完成以后重新訪問http://localhost/WebDemo/ 得到(該頁面是直接訪問d:/deployment目錄下的靜態文件)

               

               點擊鏈接得到(tomcat解析返回的) :

               

 

              至此,整合完畢.

              運行圖如下: 

              

                 注意需要網絡管理員屏蔽8080端口.  

 

下一篇將具體來描述一下創建的maven工程,對maven進行一個快速入手.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM