Win2003中apache2整合tomcat5和iis6

   爲了能在已經存在iis6的服務器上運行自己的java程序,經過歷時半年的嘗試,今天終於搞定了,好開心啊。
   
    最開始是用iis直接連接tomcat,找遍了網上所有的資料,可是死活也連不通,或許是iis的封閉吧,看來tomcat與iis遠沒有成爲朋友。
於是只好另闢蹊徑,用apache監聽80來做請求轉發了,請求到iis的站點就轉到相應目錄,請求到tomcat下的站點就轉發到tomcat下,於是開始到處找這方面的資料,終於經過反覆試驗,右克服請求servlet出錯的困難,現在終於可以繼續做自己的網站了。

參考文檔:
1.http://weblife.blogbus.com/s1659/index.html
2.http://wiki.osportfolio.org/confluence/display/Technical/Apache+Tomcat+mod_jk+Integration

第一篇文檔基本解決了所有的問題,第二篇文檔解決了請求servlet發生找不到目標的問題

下面就從零開始,一步步配置三個服務器,讓他們協調工作。

    1.下載安裝apache2
   
    在http://bj.onlinedown.net/soft/11528.html中下載apache2.0.55 for windows
    在官方網站上我怎麼也找不到,奇怪。下載到本地後雙擊就可以安裝了,安裝完成後應該在系統托盤中看到一個小圖標了,是個羽毛加綠色播放箭頭的圖標,這表示正確安裝了,如果不能正確安裝,請確認80端口沒有被別的服務器佔有。
   
    2.下載安裝tomcat5
   
    Tomcat還是到官方網站下載,地址是:http://tomcat.apache.org/download-55.cgi,選擇5.5.17中core:zip,我比較習慣用這個壓縮包,解壓後設置環境變量就可以用了。在安裝路徑的bin裏面運行startup.bat就可以啓動tomcat了。
   
    3.安裝IIS6.0
   
    將win2003的安裝盤插入光驅,在添加或刪除程序中選擇“添加/刪除windows組件”在“windows組件嚮導”中選擇“應用程序服務器”並打上勾,按嚮導提示下一步進行,就可以安裝了。IIS6.0安裝後並不能正常啓動,因爲默認端口80被apache已經佔了。雙擊打開“管理工具/internet信息服務(IIS)管理器”,在“默認網站(停止)”上右擊選擇“屬性”,在“網站”選項卡中修改“TCP端口”的80爲88或者其他端口,確定。選中“默認網站(停止)”然後單擊工具欄中的播放圖標,就可以啓動IIS了,正常啓動後“停止”字樣就消失了。
   
    4.測試3個服務器
   
    修改Apache安裝目錄/htdocs中的index.html.en改名爲index.html,在瀏覽器輸入http://localhost回車如果看到apache的歡迎界面,說明apache正在運行。在瀏覽器中輸入http://localhost:8080回車如果看到tomcat的歡迎界面,這表示tomcat運行正常。在瀏覽器中輸入http://localhost:88回車如果看到“建設中”這樣的提示,表示iis正在運行。
   
    5.配置apache與tomcat的連接
   
    第一步: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.6
             下載mod_jk_1.2.6_2.0.50.dll文件,將其改名爲mod_jk.so後放到apache2/modules目錄中。
            
    第二步: 打開記事本,輸入下列語句,以workers.properties爲文件名保存在tomcat安裝目錄/conf目錄下:
   
             workers.tomcat_home=C:/Program Files/jakarta-tomcat-5.0.28
             workers.java_home=C:/Program Files/Java/jdk1.5.0_06
             ps=/
             worker.list=ajp13
             worker.ajp13.port=8009
             worker.ajp13.host=localhost
             worker.ajp13.type=ajp13
             worker.ajp13.lbfactor=1
            
     第三步:用記事本打開apache/conf/httpd.conf文件末尾,添加下面一段:
    
     LoadModule jk_module modules/mod_jk.so
     JkWorkersFile "D:/Program Files/jakarta-tomcat-5.0.28/conf/workers.properties"

     <VirtualHost *:80>
       ServerAdmin [email protected]   
       ServerName localhost
       DirectoryIndex index.html index.htm index.jsp
       JkMount /* ajp13   
       JkAutoAlias "C:/Program Files/jakarta-tomcat-5.0.28/webapps"  
       <Directory "C:/Program Files/jakarta-tomcat-5.0.28/webapps">
          Options Indexes FollowSymLinks
          allow from all
       </Directory>
     </VirtualHost>       

     保存,停止apache服務,在啓動,就可以將新配置應用了。
    
     6.測試apache與tomcat的連接
     在服務器中輸入http://localhost回車如果看見的是tomcat的歡迎界面,就表示apache和tomcat整合成功了,localhost後面加上jsp-examples目錄或者servlet-examples目錄就可以看到下面的例子,爲了讓servlet運行,我可是費了半天勁,修改這個httpd.conf文件。
    
     7.配置apache與IIS6的連接
    
     第一步:修改httpd.conf文件,啓用proxy模塊
             將文件中的LoadModule proxy_module modules/mod_proxy.so和LoadModule proxy_http_module modules/mod_proxy_http.so這兩句
             的“#”去掉就可以了。
            
     第二步:增加IIS的虛擬主機
             在httpd.conf文件末尾加入以下代碼:
            
             <VirtualHost *:80>
                ServerAdmin [email protected]
                ServerName localhost
                DocumentRoot "C:/Inetpub/wwwroot"
                DirectoryIndex index.html index.htm index.asp
                Alias /test "C:/Inetpub/wwwroot"
                <Directory "C:/Inetpub/wwwroot">
                   Options MultiViews
                   AllowOverride None
                   Order allow,deny
                   Allow from all
                </Directory>
                ProxyPass / http://127.0.0.1:88/
                ProxyPassReverse / http://127.0.0.1:88
             </VirtualHost>
             保存,並重啓apache就可以做測試了。
            
      8.測試apaceh與IIS的連接
     
      寫一個asp頁面,hello.asp:
      <HTML>
         <HEAD>
           <TITLE>Hello World Sample</TITLE>
         </HEAD>
         <BODY>
           <% Response.Write "Hello World" %>
         </BODY>
      </HTML>
      放到C:/Inetpub/wwwroot下面,在瀏覽器中訪問http://localhost/test/hello.asp回車如果出現“hello world”字樣就表示配置成功了。如果頁面出現空白,在Internet信息服務(IIS)管理器中的web服務擴展裏將“active server page”允許,然後清空緩存,刷新頁面應該就可以看見hello world了。
     
      具體參數的含義就不多說了,上面的參考文檔有介紹。
     
      後記:
     
      一直以爲這個整合問題解決不了了,但是我還是不甘心,爲什麼別人能調通,我就調不通,苦腦啊,今天終於解決了,昨天晚上還弄到1點多,所有的辛苦沒有白下,寫下這個,做個紀念,也希望能對碰到此問題的網友有幫助,沒有互聯網就沒有大家的成長。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章