apache tomcat mod_js配置整合,
http://blog.sina.com.cn/s/blog_3c9872d00102w00y.htmlApache與Tomcat整合應用是一個老話題,不算新技能,但對非運維人員在配置過程中或許也會遇到一些問題。這里只是把自己多回配置的過程做一個摘錄,供自己翻閱并望對過路的人有用。
Apache是當下在Windows、Unix、Linux 等操作系統中最流行的Web服務器軟件之一,其反應速度快、運行效率高,不僅支持HTML等靜態頁面,在加載插件后也可支持 PHP 頁面等。Tomcat是Apache軟件基金協會與Sun公司聯合開發的Web服務器,除支持HTML靜態頁面外,還是JSP、Servlet等JAVA WEB應用的服務器。在相同運行環境下,Tomcat對靜態頁面的反應速度沒有Apache靈敏,整合 Apache與Tomcat能使系統運行于一個良好環境下,實現JAVA的動態與靜態頁面分離,不僅讓系統更安全,同時也可提高系統效率。
一、JAVA應用基礎架構
通用的JAVA應用架構如下,包括WEB Server、APP Server和DB Server三個部分:
1、WEB Server
WEB Server置于企業防火墻外,這個防火墻也可以認為是一個CISCO路由器,在CISCO路由器上開放兩個端口為:80和443,其中:
80端口:用于正常的http訪問
443端口:用于https訪問,即如果你在ie里打入https://xxx.xxx.xx這樣的地址,默認走的是443這個端口
WebServer專門用于解析HTML、JS(JavaScript)、CSS、JPG/GIF等圖片格式文件、TXT、VBSCRIPT、PHP等“靜態”網頁內容。
2、APP Server
APP Server置于企業防火墻內,它和Web Server之間的連接必須且一定為內部IP連接。App Server用于解析我們的任何需要Java編譯器才能解析的“動態”網頁,其實App Server本身也能解析任何靜態網頁的。在應用中我們這樣來想一下:我們讓負責專門解析靜態網頁的Web Server來解析html等內容,而讓App Server專門用于解析任何需要Java編譯器才能解析的東西,讓它們各司其職。這樣作的好處:
3、DB Server
二、系統安裝與配置
系統安裝包括MySQL的安裝,WEB Server即Apache的安裝,App Server即Tomcat的安裝。關于這三個系統安裝網上相關的文檔很多,此處略去。以下主要摘錄需要重點配置的內容。
1、Apache的配置
做技術的人應該都會Apache的基礎配置,如果不會確實需要學一學。
Apache的配置主要集中在httpd.conf文件中,它位于Apache的安裝目錄下,比如我的是在“C:\webserver\apache\apache22\conf”目錄下。用Ultraedit或Notepad++編輯器打開文件,通常需要修改的內容包括ServerName、DocumentRoot、VirtualHost內容等。此處我修改的內容包括:
1)DocumentRoot原目錄為C:/webserver/apache/apache22/htdocs,修改為D:/WWW/apache/htdocs,將網站發布路徑與Apache安裝路徑分開;
2)找到如下紅色標示內容:
把這個”deny from all”改成”allow fromall’。
以免訪問Apache根目錄下的文件時出現以下錯誤提示:

3)再找到下面這樣的行
Options FollowSymLinks indexes
把它注掉改成下面這樣
#Options FollowSymLinks indexes
Options None
以免在訪問Apache目錄時出現直接列表顯示子目錄或目錄下文件的不安全情況,如下圖樣子:

以上配置修改完成后重啟Apache服務,保證要能正常運行。
三、Apache與Tomcat的整合配置
Apache(Web Server)負責處理HTML靜態內容,Tomcat(App Server)負責處理動態內容;原理圖如下:

上述架構的原理是: 在Apache中裝載一個模塊,這個模塊叫mod_jk; Apache通過80端口負責解析任何靜態web內容; 任何不能解析的內容,用表達式告訴mod_jk,讓mod_jk派發給相關的App Server去解釋。
因此,首先把 mod_jk-1.2.31-httpd-2.2.3(可從網上搜索下載該模塊,如http://download.csdn.net/detail/shangkaikuo/4494837)拷貝到 "/Apache2.2/modules" 目錄下。接下來:
1、添加workers.properties文件
在 “/Tomcat 8.0/conf ” 文件夾下(也可以是其它目錄下)增加 workers.properties 文件,輸入以下內容。(將其中相應目錄替換成自己本地tomcat或jre安裝目錄)
**注意:worker.list=AJP13中,AJP13為自定義名稱,但此名稱必須與下文所述的 “/Apache 2.2/conf/httpd.conf ” 文件中,JkMount指令對應的名稱相匹配。
2、httpd.conf文件中添加配置內容
加入workers.properties文件后,可修改 “/Apache 2.2/conf/httpd.conf ” 文件,加入以下配置,注意JkMount指令中的變量必須與worker.list所配置的名稱相同。
# 此處mod_jk-1.2.31-httpd-2.2.3文件為你下載的文件
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
# 指定tomcat監聽配置文件地址
JkWorkersFile "C:/webserver/tomcat/tomcat8/conf/workers.properties"
#JkWorkersFile "C:/webserver/apache/apache22/conf/workers.properties"
# 指定日志存放位置
JkLogFile "C:/webserver/tomcat/tomcat8/logs/mod_jk2.log"
JkLogLevel info
-virtualhost *-
-/virtualhost-
上述配置中的紅色內容是為了告訴Apache哪些交給Tomcat去處理,其它的都交由Apache自身去處理。
其中綠色的兩句比較關鍵,分別告訴:Apache載入一個額外的插件,用于連接tomcat; 連接時的配置參數描述位于Tomcat安裝目錄的/conf目錄下的一個叫workers.properties文件中,mod_jk一般使用ajp13協議連接,使用的是tomcat的8009端口。
完成以上配置后,重啟 Apache、Tomcat。此時Apache、Tomcat的默認目錄為 "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps ”,Apache使用默認的80端口、Tomcat端口改成1080或其它非8080默認端口(修改是為了安全,也可以不用修改)。在Tomcat默認目錄下添加test目錄,在該目錄下加入index.jsp頁面,然后通過http://localhost/test/index.jsp試試是否可以正常訪問,如頁面可正常訪問,證明整合配置已經成功。
至此,似乎整個配置工作已經完成,但是如果你想試著把靜態的HTML頁面放到Apache的htdocs發布目錄下,把JSP等動態內容放到Tomcat的webapps目錄下(該目錄下不存放*.html文件),然后通過http://localhost/index.html想訪問Apache目錄下的內容,你會發現404之類的不能訪問的錯誤。如何解決,這里暫時賣個關子.......如果你能看出問題,能容易解決掉,就誠摯為你點個贊!
posted on 2016-06-19 20:42 youngturk 閱讀(218) 評論(0) 編輯 收藏 所屬分類: 筆試題