本文主要講述如何在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,可以測試了,成功了嗎?有問題歡迎交流
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
