Apache 2.2.9 和 Tomcat 5.5.26 的自动集成
来源:互联网 发布:淘宝妈妈装旗舰店 编辑:程序博客网 时间:2024/06/01 17:34
集成 Apache 和 Tomcat 后,Tomcat 的应用可以通过 Apache 来访问。这个功能使用了一个 mod_jk.so 的模块,有关这个方面的配置曾经困扰了我很久,我相信也给不少人带来了麻烦。这次我要说的是一种更加简便的配置方式:自动化配置。
自动化配置的前提是只有一个 Tomcat 实例和 Apache 在同一台机器上运行。自动化配置是通过在 Tomcat 的配置文件 server.xml 中的 Engine 元素中添加相应的 ApacheConfig 监听器(Listener)来实现的。
下面是具体的配置:
第一步:下载并安装 Apache httpd和 Tomcat
下载并安装 Apache 2.2.9 和 Tomcat 5.5.26,假设他们的安装目录如下:
D:/apps/Apache/Apache2.2
D:/apps/Apache/apache-tomcat-5.5.26
这两个服务器可以在以下地址下载:
Tomcat:
http://apache.osuosl.org/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip
Apache:
http://apache.osuosl.org/httpd/binaries/win32/apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi
第二步:下载并安装 mod_jk.so
mod_jk 的下载地址如下:
http://apache.osuosl.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.2.4.so
下载后将其重命名并复制到到 D:/apps/Apache/Apache2.2/modules 下
第三步:创建 workers.properties 文件
workers.properties 定义了每个 worker 的类型、协议、端口等信息。如果手上没有现成的配置文件,可以使用以下最简单的配置:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
将这个文件放在 Tomcat 下的 conf/jk 目录中,如果放在其他地方,则需要在 server.xml 的配置中明确指定。
第四步:修改 Tomcat server.xml 文件
找到下面这行内容并在后面添加配置信息:
<Engine name="Catalina" defaultHost="localhost">
配置信息如下:
<Listener className="org.apache.jk.config.ApacheConfig"
workersConfig="conf/workers.properties"
modJk="D:/apps/Apache/Apache2.2/modules/mod_jk.so"
jkLog="logs/mod_jk.log"
jkDebug="info"
jkWorker="worker1"
noRoot="true"
/>
其中:
- workersConfig 是 workers.properties 的位置,这里我没有使用默认的位置,所以在此明确说明了。
- modJk:定义了 mod_jk.so 的具体位置
- jkLog 定义了 mod_jk.log 的位置,这里是 tomcat 下的 logs 目录
- jkDebug:定义日志级别,可以使用的级别有:debug, info, error, 或者 emerg,默认为 emerg
- jkWorker:定义 worker 的名称,必须是在 workers.properties 中定义过的名称,否则可能会出现 internal server error 的错误
- noRoot:如果为 true,则根目录不会映射到 Tomcat 的根目录,false 则映射到 Tomcat 根目录,如果是 false 的话,http://localhost/ 会打开 Tomcat 的欢迎页面(ROOT)
第五步:修改 Apache httpd.conf 文件
找到 httpd.conf 文件并在最后加上如下配置:
#To be added at the end of your httpd.conf
Include $TOMCAT_HOME/conf/auto/mod_jk.conf
要注意的是,这里 Include 后面的路径必须正确,这里 $TOMCAT_HOME 是 Tomcat 安装目录,D:/apps/Apache/apache-tomcat-5.5.26。
第六步:重启 Tomcat 并自动生成 mod_jk.conf
重启 Tomcat,重启成功后会在其 conf 下面生成 mod_jk.conf 文件,这个配置文件就是在 httpd.conf 中要用到的那个,这个文件的路径必须和在 httpd.conf 中的一致。下面是生成的一个mod_jk.conf:
########## Auto generated on Sun Jun 29 11:21:57 CST 2008##########
<IfModule !mod_jk.c>
LoadModule jk_module "D:/apps/Apache/Apache2.2/modules/mod_jk.so"
</IfModule>
JkWorkersFile "D:/apps/Apache/apache-tomcat-5.5.26/conf/workers.properties"
JkLogFile "D:/apps/Apache/apache-tomcat-5.5.26/logs/mod_jk.log"
JkLogLevel info
<VirtualHost localhost>
ServerName localhost
JkMount /webdav worker1
JkMount /webdav/* worker1
JkMount /servlets-examples worker1
JkMount /servlets-examples/* worker1
JkMount /tomcat-docs worker1
JkMount /tomcat-docs/* worker1
JkMount /jsp-examples worker1
JkMount /jsp-examples/* worker1
JkMount /balancer worker1
JkMount /balancer/* worker1
</VirtualHost>
第七步:启动 Apache 并测试配置
Apache 启动完成后,测试如下地址:
http://localhost/jsp-examples
如果页面能正常显示,说明配置成功!如果出现 internal server error 之类的错误,说明上面的配置有误,需要检查并测试。
参考资料:
http://tomcat.apache.org/tomcat-6.0-doc/api/index.html
- Apache 2.2.9 和 Tomcat 5.5.26 的自动集成
- Tomcat和Apache的集成
- Tomcat和Apache的集成
- apache和tomcat的集成
- Tomcat和Apache的集成
- apache和tomcat集成
- Apache,Tomcat的集成和负载均衡
- apache和tomcat的集成 [摘]
- Apache和Tomcat集成前的准备
- Tomcat、Apache、IIS的集成
- Tomcat与Apache的集成
- Linux下apache和tomcat的集成安装
- Apache虚拟主机和虚拟目录+tomcat集成的配置
- windows下 apache和tomcat集成配置
- Apache+Tomcat+Php+Mysql的集成
- Apache+Tomcat+Php+Mysql的集成
- Apache+Tomcat+Php+Mysql的集成
- apache 集成多个tomcat的方法
- 一个人的战斗---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十九)
- Freemarker+Fmpp简介
- 软考过了
- java编写的简单播放器
- GridView 数据控件的七种字段类型(Fields Type)的应用
- Apache 2.2.9 和 Tomcat 5.5.26 的自动集成
- 用WSE在Web服务中验证用户身份
- 小姜技术博客开通啦!
- FTP网络文件传输
- 毕业一周年咯
- 一段随滚动条而动的浮动层脚本
- 累斗累---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十)
- 中断服务程序的编写
- 蓄谋已久