Apache HttpServer的安裝並與Tomcat整合Linux 版

來源:互聯網
上載者:User

 

 

這裡採用的httpserver版本是2.2.22,jdk與tomcat的安裝參見:

http://blog.csdn.net/supercrsky/article/details/8283200

 

1.下載

httpserver:

http://archive.apache.org/dist/httpd/httpd-2.2.22.tar.gz

Tomcat:

http://archive.apache.org/dist/tomcat/tomcat-7/

mod_jk:

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.23/

2.安裝httpd

我的tar包在/home/zdw/software目錄下,切換到此目錄

#cd /home/zdw/software

解壓

#tar -zxvf httpd-2.2.22.tar.gz

進入解壓後的目錄

#cd httpd-2.2.22

執行

#./configure --prefix=/usr/local/apache2.2 --enable-so --enable-mods-shared

=most --with-mpm=worker

 

#  --prefix=<Install_Path>指明編譯後的二進位檔案安裝到<Install_Path>目錄,用實際安裝路徑替換<Install_Path>,如--prefix=/usr/local/apache-2.2.15,如果省略此配置參數,預設安裝到/usr/local/apache2目錄。 

#  --enable-so 指明編譯動態載入模組(DSO)支援到httpd二進位檔案,此模組使得Apache的各功能模組可以與核心分開編譯、運行時動態載入。有了DSO支援,升級和增加模組時只需編譯相關的模組即可,不必重新編譯整個系統。最新版本的Apache預設編譯此模組到httpd二進位檔案,如果你在使用早期版本的apache並且需要DSO支援,可能要明確指出此選項。 

#  --enable-mods-shared=<MODULE-LIST>明確指明要以DSO方式編譯的模組,<MODULE-LIST>為空白格分隔的模組名列表、all或者most,all表示包含所有模組,most表示包含大部分模組,如--enable-mods-share="rewrite
deflate",--enable-mods-share=most
,效果等同於多個--enable-<FEATURE>=share 
#
 --with-mpm=<MPM>先擇Apache多路處理模組,<MPM>={beos|event|worker|prefork|mpmt_os2},prefork為Unix系統下預設處理模組,它將運行一個非線程型的、預派生的Web伺服器,適合於沒有安全執行緒庫,需要避免線程相容性問題的系統,它是要求將每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現問題就不會影響到其他請求。worker為支援混合的多線程多進程的多路處理模組,由於使用線程來處理請求,所以可以處理海量請求,而系統資源的開銷小於基於進程的MPM,同時,它也使用了多進程,每個進程又有多個線程,以獲得基於進程的MPM的穩定性。如果你的系統是基於安全執行緒的,那麼筆者建議使用worker替代prefork,它將使得你的系統得到實際的效能改善。 

 

這時會出現很多checking

完成後進行編譯

#make

安裝

# make install 

切換到我們指定的安裝目錄:

#cd /usr/local/apache2.2

查看目錄內容:

#ls

切換到bin目錄下,啟動apache進行測試,

#./apachectl start

報:

解決辦法:

修改conf/httpd.conf檔案,把其中到#ServerName的注釋去掉即可。

但在Ubuntu中的httpd.conf檔案中沒有找到#ServerName,用vi手動把

ServerName 127.0.0.1:80加入httpd.conf儲存。

重新切換到/usr/local/apache2.2/bin下運行

#./apachectl start

打Firefox輸入,http://localhost/,頁面顯示:It Works。

停止

#./apachectl stop

至此apache-httpserver安裝成功。

3.整合Apache與Tomcat

# vi conf/httpd.conf

找到

DocumentRoot "/usr/local/httpd2.2/htdocs"

這個叫作DocumentRoot即webroot,即:發布目錄,發布在這個目錄下的任何工程都會在Apache服務開啟時被裝載成標準的web工程,我們現在動手來把這個WebRoot定位到我們自己的發布目錄中去吧。

DocumentRoot "/usr/local/www"

建立目錄:

#mkdir www

將下載的mod_jk-1.2.23-apache-2.2.x-linux-i686.so複製到modules下

#cp mod_jk-1.2.23-apache-2.2.x-linux-i686.so /usr/local/httpd2.2/modules/

建立workers.properties

#touch workers.properties

#vi workers.properties

加入如下內容:

workers.tomcat_home=/opt/tomcat/workers.java_home=/usr/jdk1.7.0_09/ps=/worker.list=ajp13worker.ajp13.port=8009worker.ajp13.host=localhostworker.ajp13.type=ajp13

關鍵的是這兩句:

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so

JKWorkersFile conf/workers.properties

代表:

ü   Apache載入一個額外的外掛程式,用於串連tomcat。

ü   串連時的配置參數描述位於Apache安裝目錄的/conf目錄下的一個叫workers.properties檔案中,mod_jk一般使用ajp13協議串連,使用的是tomcat的8009連接埠

 

編輯httpd.conf檔案

#vi /conf/httpd.conf

到檔案最後面加入以下幾行:

LoadModule jk_module modules/mod_jk-1.2.23-apache-2.2.x-linux-i686.soJKWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.log<VirtualHost *>ServerAdmin localhostDocumentRoot usr/local/wwwServerName localhostDirectoryIndex index.html index.htm index.jsp index.actionErrorLog logs/shsc-error_log.txtCustomLog logs/shsc-access_log.txt commonJkMount /*WEB-INF ajp13JkMount /*j_spring_security_check ajp13JkMount /*.action ajp13JkMount /servlet/* ajp13JkMount /*.jsp ajp13JkMount /*.do ajp13</VirtualHost> 

將我們要測試的項目分別複製到/opt/tomcat/webapps和/usr/local/www目錄下。

重啟tomcat,重啟apahce。

開啟Fifefox訪問我們的工程:http://localhost/composite

報:

而我們用http://localhost:8080/composite訪問是正常的。

編輯conf/httpd.conf找到:

<Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all</Directory>

將Deny改成Allow,如下:

<Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow    Allowfrom all</Directory>

儲存後,重啟apache後再進行訪問:

好了,Apache與Tomcat整合成功。

 

以上執行個體在Ubuntu11.04中測試成功。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.