Windows平台上的Apache+Tomcat配置指南
來源:互聯網
上載者:User
本文主要講述如何在windows平台上搭建一個用於java平台的web伺服器過程。
整個過程中用到的軟體包括:Apache的http伺服器、JDK6、Tomcat 6、mod_jk。實現的目標是配置完成一個由Apache擔當80連接埠的web伺服器,Tomcat擔任Java的Web應用程式容器,兩者通過mod_jk的串連完成對外提供服務的工作。現在我們開始配置過程:
1、下載Apache的http伺服器
下載地址:http://httpd.apache.org,在本文編寫時,httpd的伺服器當前最新發行版本是2.2.11(我們稱2.2版本),我們選在windows平台的二進位版本下載,我們最好選擇Win32 Binary including OpenSSL 0.9.8i (MSI Installer) ,因為這個版本只是SSL,也許你將來需要提供SSL的功能,所以這裡有備無患。
2、安裝Apache的http伺服器
這個步驟的任務非常簡單,對於windows平台,你只需要按照安裝嚮導一步一步完成安裝任務就可以了,在過程你可以會被要求填寫一些資訊,比如伺服器的網域名稱(你可以根據你的伺服器實際的網域名稱填寫,如果你只是測試,並沒有申請過網域名稱的話,你可以隨便填寫一個),管理員的電子郵件等等。在這個過程中記住你的軟體的安裝目錄,接下來的步驟中我們將會用到這個目錄。我們將這個安裝過程中的每一步截圖記錄如下:
3、下載安裝JDK6
下載地址:http://java.sun.com/javase/downloads/?intcmp=1281,下載Java SE Development Kit (JDK) 6 Update 11。
安裝JDK的過程非常簡單,你只需要依次下一步就可以完成任務了,安裝過程注意選擇安裝目錄,我們這裡假設安裝目錄為d:/java/jdk1.6。
4、下載Tomcat 6
下載地址:http://tomcat.apache.org/download-60.cgi,選擇windows平台的tomcat軟體,你可以選在Windows Service Installer 版本。
5、安裝Tomcat 6
這個過程中也是近乎傻瓜型的,這裡將Tomcat 6的安裝過程截圖如下:
6、下載和配置mod_jk
下載地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/mod_jk-1.2.27-httpd-2.2.10.so,這裡大家需要注意一點,你應該更具你的apache的版本來選擇mod_jk的版本。當你現在so檔案之後,接下來的任務就是要將so模組配置到apache伺服器當中去。
首先將mod_jk-1.2.27-httpd-2.2.10.so複製到apache的安裝目錄中modules目錄中,你會在這個目錄(C:/Program Files/Apache Software Foundation/Apache2.2/modules)中看到很多的so檔案。然後開啟apache的設定檔(C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf),在其中找到包含LoadModule字樣的內容,在這些內容的下方添加一個新的LoadModule,其目的是為了給Apache增加一個新的模組功能,這個模組就是mod_jk,它的目的是為了讓apache能夠和tomcat進行協作。在LoadModule下方添加如下一行內容:
LoadModule jk_module modules/mod_jk-1.2.27-httpd-2.2.10.so
mod_jk模組要正確工作,必須知道被它操控的tomcat伺服器在哪裡,而這個內容需要被配置在另外一個檔案中,現在我們將這個檔案命名為workers.properties,將這個檔案放在httpd.conf相同的地方(當然你可以放在任何你希望的地方),檔案中的內容如下:
ps=/
worker.list=ojava
worker.ojava.port=8009
worker.ojava.type=ajp13
worker.ojava.host=localhost
worker.ojava.lbfactor=1
有了這個設定檔之後,我們必須要告訴mod_jk這個檔案的存在,所以需要再次開啟httpd.conf檔案,在我們剛剛添加的LoadModule這一行的下方添加如下一行內容:
JkworkersFile conf/workers.properties
好了,現在你已經完成了apache和tomcat的通訊方式和參數的配置,接下來需要做的就是配置哪個web應用需要由apache轉交給tomcat進行處理,我們以虛擬機器主機為例:
我們為apache增加新的虛擬機器主機的配置,首先修改httpd.conf的配置,找到#Include conf/extra/httpd-vhosts.conf,將這一行前面的#去除掉,讓這一行的配置生效。然後我們找到設定檔中如下的內容:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
將其修改為如下的內容:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
其目的是為了給apache配置虛擬機器主機,指定其他目錄作為web網站的目錄時產生無權訪問的錯誤。
接著開啟C:/Program Files/Apache Software Foundation/Apache2.2/conf/extra/httpd-vhosts.conf,去掉裡面已經配置的虛擬機器主機部分的內容,如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.ojava.net
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.ojava.net"
ServerName dummy-host.ojava.net
ServerAlias www.dummy-host.ojava.net
ErrorLog "logs/dummy-host.ojava.net-error.log"
CustomLog "logs/dummy-host.ojava.net-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.ojava.net
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.ojava.net"
ServerName dummy-host2.ojava.net
ErrorLog "logs/dummy-host2.ojava.net-error.log"
CustomLog "logs/dummy-host2.ojava.net-access.log" common
</VirtualHost>
添加我們自己配置的資訊,配置內容如下:
<VirtualHost *:80>
ServerAdmin steven@ojava.net
DocumentRoot "e:/ojava/web_root"
ServerName www.ojava.net
JkMount /* ojava
ErrorLog "logs/www.ojava.net-error.log"
CustomLog "logs/www.ojava.net-access.log" common
</VirtualHost>
到這裡我們已經將對www.ojava.net網域名稱網站的訪問請求轉交給了tomcat進行處理了。此時如果你需要在tomcat中進行虛擬機器主機的配置,那麼你可以繼續修改tomcat的設定檔,如果你不需要,那麼到這裡,你已經完成了所以的配置過程。恭喜你,現在重新啟動apache和tomcat,可以測試了,成功了嗎。有問題歡迎交流。