2012年3月23日 星期五

[精選文章] Apache與Tomcat整合方法


1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
到Apache官方網站下载所需要的文件:
httpd-?.?.?.tar.gz
apache-tomcat-?.?.??.tar.gz
jakarta-tomcat-connectors-?.?.??-src.tar.gz

2、安裝Apache。
# tar xzvf httpd-?.?.?.tar.gz
# cd httpd-?.?.?
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install


3、安裝Tomcat。
# cp apache-tomcat-?.?.??.tar.gz /usr/local/ 
# cd /usr/local 
# tar xzvf apache-tomcat-?.?.??.tar.gz 
# ln -s apache-tomcat-5.5.12 tomcat


4、編譯生成mod_jk。
# tar xzvf jakarta-tomcat-connectors-?.?.??-src.tar.gz 
# cd jakarta-tomcat-connectors-?.?.??-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs 
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/


5、配置。
/usr/local/apache2/conf/下面建立两个配置文件 mod_jk.conf 和 workers.properties。
linux-7xud:/usr/local/apache2/conf # vi mod_jk.conf
* 在mod_jk.conf添加以下内容:
=========================================
# give mod_jk working properties
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/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 /servlet/* worker1
JkMount /*.jsp worker1

=========================================

linux-7xud:/usr/local/apache2/conf # vi workers.properties
* 在workers.properties添加以下内容:
=========================================
#Defing a worker named worker1 and of type ajp13
worker.tomcat_home=/usr/local/apache-tomcat-6.0.20/
worker.java_home=/root/app/jdk1.6.0_10
ps=/
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

=========================================

* 再配置httpd.conf,作以下修改:
5.1. 將Listen 80 修改為 Listen 127.0.0.1:80
5.2. 將ServerName 修改為 ServerName LocalHost:80
5.3. 在DirectoryIndex中添加 index.jsp
5.4. 我的網頁放在/var/www/root下,所以要修改DocumentRoot
  1. DocumentRoot "/var/www/root"  
  2. "/var/www/root">  
  3.     Options Includes FollowSymLinks  
  4.     AllowOverride None  
  5.     Order deny,allow  
  6.     Allow from all  
  7.     XBitHack on  
  8.   
  9. "/var/www/root/WEB-INF">  
  10.     Order deny,allow  
  11.     Deny from all  
  12.   


5.5. 增加关于加载mod_jk的语句:
  1. ...  
  2. LoadModule jk_module modules/mod_jk.so   
  3. Include /usr/local/apache2/conf/mod_jk.conf  
  4. ...  


* 最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
  1. ...  
  2. "localhost"  appBase="webapps"  
  3.                  unpackWARs="true" autoDeploy="true"  
  4.                  xmlValidation="false" xmlNamespaceAware="false">  
  5.     "" docBase="/var/www/root" debug="0" reloadable="true" crossContext="true"/>  
  6.     ....  (中間省略) ....  
  7.   
  8. ....(以下省略)....  

6, 測試
在 /var/www/root/ 下建立一个index.jsp,啟動Apache 與 Tomcat,用瀏覽器訪問 http://localhost:8080/,應該可以看到正確的頁面.

7. 參考資料
http://pank.org/blog/archives/000692.html
http://www.howtoforge.com/apache2_tomcat5_mod_jk_integration
http://en.opensuse.org/Tomcat_HOWTO
http://www.linuxsir.org/bbs/showthread.php?t=236915
http://www.l-penguin.idv.tw/article/httpd-tomcat-mysql-jk.htm
在前一篇 Apache 及 Tomcat 的結合 (New window) 的文件中,說明了使用 mod_jk2 把 Apache 與 Tocmat 相結合的實例。最近小弟遇到了主機的擴充案,重新調整了 Apche 的編譯,並且使用新版本的 Tomcat Connectors JK 1.2.26 版本來做兩者之間的溝通。
本篇文章同時也介紹了 Tomcat 6.0 的 MySQL Connection Pool 用法(同時適用於 Tomcat 5.5),實做中也提及如何測試資料庫的連線。
This message was edited 21 times. Last update was at 21/10/2011 18:53:57

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...