標籤:
如果您能點開這篇文章,說明您已對熟悉Apache HTTP Server(下文用Apache簡稱)配置的重要性已很清楚了,本文不在贅述,直接介入正題,請往下閱讀:
為便於閱讀,列出文章目錄:
一、Apache 的安裝說明
二、Apache 的基本配置
三、Apache 整合 Tomcat 的配置
以下為本文內容:
一、Apache 的安裝說明
1、首先開啟Apache官網,進入Windows版本的頁面:http://archive.apache.org/dist/httpd/binaries/win32/ 並選擇2.2.22_no_ssl版本的msi安裝包下載(高版本的截止到本文編寫時還未官網還未提供msi安裝包),
下載好就可以開始安裝了。
2、運行剛下載好的msi檔案(httpd-2.2.22-win32-x86-no_ssl.msi),安裝過程如下:
點擊Next,繼續:
上面的Network Domain、Server Name和Email Address三項內容如果是本機用於測試個人認為填什麼都沒有問題,但如果是真實的網路環境網域名稱等參數是唯一的,應該如實填寫,填好後點擊 Next 繼續:
此處選擇Custom,可以自訂安裝路徑等,點擊 Next 繼續:
紅框中的內容為Apache的安裝路徑,可以點擊Change更改,其它資訊預設,點擊 Next 繼續:
點擊 Install 開始安裝:
安裝過程中會彈出幾個CMD視窗,會自動關閉,不用管,最後:
點擊 Finish 安裝完成,開始運行裡輸入services.msc,即可看到Apache已經註冊為Windows服務了:
Windows工作列右下角也自動開啟了Apache Monitor:,如果此時Apache服務沒有自動啟動或者啟動Apache服務時彈出類似中的視窗:
說明Apache預設的 80 連接埠已被佔用了。你可以關掉佔用80連接埠的軟體,也可以更改Apache的預設配置,使其監聽其它連接埠即可。
二、Apache 的基本配置
開啟 Apache 的安裝目錄,其主要配置都集中在conf檔案夾下的 httpd.conf 檔案中,位置:
用UltraEdit 或 Notepad++開啟httpd.conf檔案,從上往下閱讀:
1、第35行,ServerRoot 為Apache的安裝路徑,這個瞭解就可以,不用管它;
2、第46行,Listen 80 指定了 80 為Apache的預設監聽連接埠,這裡我們改成 88,防止和其它佔用80連接埠的軟體衝突。改完後在啟動Windows服務中啟動它,此時可以看到沒有報錯視窗了。開啟瀏覽器,地址欄中輸入http://localhost:88 如果看到如下資訊說明Apache已經正常安裝並啟動成功了:
3、第172行,ServerName 為之前安裝時設定的DNS網域名稱(如果沒有網域名稱就輸入IP,記得跟上連接埠號碼),#號為注釋,這裡去掉#號,修改後的內容如下:
ServerName 127.0.0.1:88
修改完之後,先測試下配置是否正確:開啟開始菜單-》所有程式,找到Apache HTTP Server 2.2 下的Test Configuration,並運行,
如果彈出的CMD串口的內容為 Syntax OK 並一閃而過,說明配置是沒有問題的;否則的話會提示出錯資訊並停留30後才自動關閉。
4、第179行,DocumentRoot 一般為js、css、html、png、gif、jpg等靜態資源檔案的存放目錄,這裡我們定義存放在D盤的Apache_Statics檔案夾下。修改後的內容如下:
DocumentRoot "D:/Apache_Statics"
5、第193行,將 Deny from all 改成 allow from all 否則訪問靜態檔案時頁面會提示 Forbidden 禁止訪問的資訊。修改後的內容如:
6、第206行,Directory 修改成和 DocumentRoot 對應的值相同,修改後的內容如下:
<Directory "D:/Apache_Statics">
7、第219行,將 Options Indexes FollowSymLinks 注釋掉,並在其下追加一行 Options None。作用和 Tomcat下的conf/web.xml中的 listings 設定成 false 一樣,為了避免在瀏覽器中列出 服務端資源 的目錄結構。
三、Apache 整合 Tomcat 的配置
Apache 可通過整合不同的模組來完成預設未提供的功能,如整合 Tomcat 就需要安裝 mod_jk 這個模組。通過載入這個模組並進行相應的配置,即可實現 Apache 通過監聽指定的連接埠(上面配置了 88 連接埠)來解析靜態資源內容,動態資源內容如 jsp、servlet、action 則交給Tomcat來解析。具體說明如下:
1、先去官網下載mod_jk模組,地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/ 選擇最新版本的 mod_jk-1.2.31-httpd-2.2.3.so 下載;
2、將 mod_jk-1.2.31-httpd-2.2.3.so 檔案拷貝到Apache安裝目錄的 modules 檔案夾下,如:
3、在conf 檔案夾(httpd.conf 所在的檔案夾)建立一個 workers.properties 檔案,內容如:
workers.tomcat_home 為 tomcat的安裝路徑;workers.java_home 為 jdk 的安裝路徑;mod_jk 一般 使用 ajp13 協議 與 tomcat 串連,預設使用8009連接埠,連接埠可以在Tomcat 的 conf/server.xml中查看,如:
4、在httpd.conf 的最末尾處 添加一段代碼,如(紅框內):
上述代碼載入了 mod_jk 模組 和 workers.properties 檔案,並定義了記錄檔的輸出位置(logs/mod_jk.log);ServerAdmin、DocumentRoot、ServerName和之前配置的相同即可;JkMount 指定了 那些路徑 會通過 ajp13 協議 交給Tomcat 去處理,多個路徑定義多個 JkMount ... ajp13 即可。這樣以WEB-INF開頭的或者以.action或.jsp結尾的或者以 servlet/ 開頭的 URL 都會 交由 Tomcat 去解析。自此,Apache 與 Tomcat 整合完畢,通常情況下程式的靜態資源部分部署到之前提到的D:\Apache_Statis檔案夾下,而非靜態資源則部署到Tomcat下。
先寫到這裡,後續會有另一篇博文介紹 Apache 防止DDos(拒絕服務的攻擊)的配置和 URL重寫的例子。
Windows 下 Apache HTTP Server 安裝、配置以及與 Tomcat 的整合(附圖)