在Windows XP下整合Apache+Tomcat+PHP

來源:互聯網
上載者:User

標籤:c   style   blog   a   http   color   

本篇文章主要是從安裝JK外掛程式方面來對整合Apache+Tomcat進行講解。

    以前在本機上做項目測試的時候,都是單獨使用Tomcat,而沒有像在伺服器上一樣用Apache+Tomcat這樣的配置。但是整合Apache+Tomcat的好處人盡皆知。為什麼我們不來試一試呢?

    其實剛開始的時候並不是為了整合Apache和Tomcat而整合的,因為之前在我的PC機上根本就沒 有裝Apache,一個機緣——公司需要幫別人維護一個用PHP寫的項目,於是為了測試PHP,所以我在PC機上裝了個Apache,並安裝了PHP(如 果有朋友需要瞭解Apache+PHP的安裝可以看這篇文章:Apache+PHP+MySQL在Windows下的安裝與配置圖解。如果這篇文章被刪除,你可以Email to me —— [email protected])。

    好了,言歸正傳,開始我們的整合吧。

    由於安裝Apache和Tomcat的文章在網上一搜一大把,所以我也沒有必要在這裡囉嗦了。從那以後開始吧。

    整合Apache和Tomcat最重要的一步就是安裝Apache和Tomcat的“連接器”——JK 外掛程式(不知道我這樣的描述是否合理哈,若有錯誤,請大蝦們不吝指出)。JK又分JK和JK2,JK2的官方文檔說JK2是JK的升級版,而且功能增強,但 是JK的官方文檔又說項目不支援JK2了,反而重新來開發JK,並且在網上也很難下到JK2了,Apache的官方網站上都只有JK了。如果要下載就到這 裡:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/去下載一個適合的版本。

    安裝JK外掛程式步驟:

    1、下載JK。我下載的是mod_jk-1.2.26-httpd-2.2.4.so,下載好之後,將mod_jk-2.26-httpd-2.2.4.so拷貝到Apache/modules檔案夾下;

    2、在Apache/conf下建立兩個設定檔:mod_jk.conf和workers.properties;

    3、首先編輯workers.properties,這個設定檔是配置Tomcat的一些事項,內容如下:

    # Defining a worker named tomcat1 and of type ajp13
     worker.list=tomcat1

     # Set properties for tomcat1
     worker.tomcat1.type=ajp13  
     worker.tomcat1.host=localhost  
     worker.tomcat1.port=8009
     worker.tomcat1.lbfactor=50  
     #worker.tomcat1.cachesize=1 
     #worker.tomcat1.cache_timeout=600  
     worker.tomcat1.socket_keepalive=1  
     worker.tomcat1.socket_timeout=300 
     # Define a ‘jkstatus‘ worker using status

    3.1、當然也可以把workers.properties放在Tomcat/conf檔案夾下,那麼JK的設定檔mod_jk.conf就要稍加修改:

# 指出mod_jk模組工作所需要的工作檔案workers.properties的位置
    JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 5.5/conf/workers.properties"(在JK的設定檔中給出workers.properties的硬碟絕對路徑)

    4、再編輯mod_jk.conf,這個是JK的設定檔,內容如下:

     #指出mod_jk模組工作所需要的工作檔案workers.properties的位置
    JkWorkersFile "conf/workers.properties"
     # Where to put jk logs
     JkLogFile "logs/mod_jk.log"
     # Set the jk log level [debug/error/info]
     JkLogLevel info
     # Select the log format
     JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
     # JkOptions indicate to send SSL KEY SIZE,     
     JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
     # JkRequestLogFormat set the request format 
     JkRequestLogFormat "%w %V %T"
     #將所有servlet 和jsp請求通過ajp13的協議送給Tomcat,讓Tomcat來處理
    JkMount /*.jsp tomcat1
     JkMount /servlet/* tomcat1
     JkMount /application/* tomcat1
     JkMount /*.do tomcat1
     JkMount /*Servlet tomcat1
     JkMount /*.action tomcat1

     5、修改Apache/conf/httpd.conf檔案,添加如下代碼:

    LoadModule jk_module modules/mod_jk.so

     Include conf/mod_jk.conf

     6、將Apache/conf/httpd.conf修改Apache的根目錄:DocumentRoot "D:/workspace/tfttc/WebRoot"

    經過上面幾步,本來該是整合成功了,如果你訪問http://localhost應該是可以訪問了,並且如果你訪問http://localhost/test.jsp也應該是正常的,但是,我的還是出了問題。當我啟動Apache的時候總是提示錯誤,查看記錄檔發現:httpd.exe: Syntax error on line 129 of F:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load F:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so into server:。

    於是我沒轍了。在網上去查了一下錯誤,都說是JK的版本問題,但是我也換了很多版本,還是沒用。於是我關機,睡覺。結果第二天早晨起來的時候,啟動Apache,沒報錯,於是我訪問http://localhost發現可以訪問,啟動Tomcat,再訪問http://localhost/test.jsp發現也是可以正常訪問的。於是我很迷惑,是不是整合Apache和Tomcat之後要重啟一下電腦呢?哈哈,如果你的情況也和我相似,不妨重啟一下電腦看看,或許會“柳暗花明又一村”呢。

    原來,我還想將Apache、Tomcat、PHP都整合到一起,以便伺服器能同時支援JSP和PHP兩種web技術,本來以為會多麼的複雜和曲折,但是,等我做了以上工作之後,發現我的伺服器都已經可以既支援PHP又支援JSP了。太高興了。

   我的安裝順序依次是:Apache、PHP、MySQL、Jdk、Tomcat、Jk。按照這樣的步驟,你的伺服器就可以既支援PHP又支援JSP了。

   其實這些步驟可以分為三大部分:1、首先讓你的伺服器支援PHP,那麼你就得安裝Apache和PHP,安裝和配置完成之後,你必須測試讓你的伺服器支援PHP。(如果你要用到資料庫,那麼不妨把MySQL也安裝上)2、安裝和配置Jdk和tomcat,使你的Tomcat可以正常的支援JSP訪問。3、 安裝和配置Jk,這是關鍵的一步,因為經過前面兩部分的工作,你的伺服器已經可以單獨支援PHP和JSP了,而這一部分——Jk外掛程式的安裝是為了讓你的Apache和Tomcat協同工作。成功之後,你的伺服器就可以同時支援PHP和JSP了,比如你可以同時這樣訪問頁 面:http://localhost、http://localhost/test.php、http://localhost/test.jsp了。

 

  不過上面的步驟說起來簡單,但是要做成功,它的道路是曲折的,過程是心酸的,只有我們自己才知道,但是,相信自己,沒有什麼是做不成的。

 

轉自:http://blog.sina.com.cn/s/blog_497300720100a6ek.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.