Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394561
  • 博文数量: 89
  • 博客积分: 1386
  • 博客等级: 中尉
  • 技术积分: 827
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-20 10:32
个人简介

12年 linux 系统运维工程师,网络架构设计、优化,故障处理。

文章分类

全部博文(89)

文章存档

2019年(1)

2015年(2)

2014年(11)

2013年(14)

2012年(2)

2011年(59)

分类: LINUX

2011-11-15 17:29:59

Linux下Apache与Tomcat整合调试

1、准备,下载需要的文件。
软件下载:
  1. jdk1.6.x  
  2. tomcat6.x  
  3. apache2.x  
  4. jk_mod1.2.x 
到Apache官方网站下载所需要的文件:
httpd-2.2.9.tar.gz
apache-tomcat-6.0.18.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。

2、安装Apache。
代码:
# tar xzvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache2 --enable-so

# make
# make install

3、安装Tomcat。
代码:
# cp apache-tomcat-6.0.18.tar.gz /usr/local/
# cd /usr/local
# tar xzvf
apache-tomcat-6.0.18.tar.gz
# ln -s
apache-tomcat-6.0.18 tomcat6

4、编译生成mod_jk。
代码:
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-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。

# vi mod_jk.conf
添加以下内容:
代码:
# 指出mod_jk模块工作所需要的工作文件workers.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
JkMount /application/* worker1
JkMount /*.do worker1
JkMount /*.class worker1
JkMount /*.jar worker1
   注意: # JkMount 表示使用Tomcat来解析, JkUnMount则相反
         # JkMount /test/* worker1 表示把test目录下的所有文件以及子目录都交给Tomcat处理
         #  一般是jsp和servlet程序交由tomcat处理就可以了,静态文件图片等仍然由Apache处理
         #  你可以根据需要来设定,比如只把test/*.jsp交给Tomcat处理   
         # JkMount /test/*.jsp worker1
         #JkAutoAlias /home/work/dev/test/* 
         #该文件夹下所有的静态文件自动交由Apache处理
         JkMount /test/servlet/* worker1   
         #/test/servlet/下所有的文件也交给Tomcat处理

# vi workers.properties
添加以下内容:
代码:
# Defining a worker named worker1 and of type ajp13
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,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1:80
将ServerName 修改为 ServerName LocalHost:80
在DirectoryIndex中添加
DirectoryIndex index.html  index.jsp
我的网页放在/usr/local/apache2/htdocs下,所以要修改DocumentRoot
代码:
DocumentRoot "/usr/local/apache2/htdocs"
#

Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on

增加关于加载mod_jk的语句:
代码:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
代码:
debug="0" reloadable="true" crossContext="true"/>

在/usr/local/apache2/htdocs下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问,应该可以看到正确的页面了。

把tomcat下/usr/local/tomcat6/webapps/examples 这个目录放到/usr/local/apache2/htdocs/examples 下
测式:
examples 测式
 Servlets examples
 JSP Examples  
然后用:/examples测式
  Servlets examples
 JSP Examples 
如果都能打开说明已经整合成功。
本次安装过程时遇到的问题 apache可以打开jsp但不能打开Servlets examples,说明/servlet/* worker1 解析没有成功。
把JkMount /servlet/* worker1改为JkMount /*/servlet/* worker1 就可以了。



阅读(855) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~