问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何整合Apache和Tomcat部署Web应用

发布网友 发布时间:2022-04-28 18:32

我来回答

1个回答

热心网友 时间:2022-04-08 11:32

我自己试了一下,把具体过程记录下来,以备今后查看。

1. 安装Apache Http Server、Tomcat、Tomcat Connector(JK Mole)
Apache Httpd:从网上下载Apache Http Server 2.2.15的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。
Tomcat:可以选择免安装压缩版(我用的是6.0.18版),很方便,可以注册为系统服务。
JK Mole:从http //tomcat apache org/download-connectors cgi找到binary下载,下载目前最新版1.2.30文件mod_jk-1.2.30-httpd-2.2.3.so,将其改名为mod_jk.so,置于Apache Http Server安装目录下的moles目录中。

2. 新建workers.properties文件

这个worker.properties可以置于任何目录下,我把它直接放在了Apache Http Server的安装目录下。

# 为mod_jk模块指明Tomcat的安装路径
workers.tomcat_home=D:/DevSoft/apache-tomcat-6.0.18
# 为mod_jk模块指明JDK的安装路径
workers.java_home=C:/Program Files/Java/jdk1.6.0_20

# 添加一个worker到worker列表
worker.list=worker1

# 为worker1设定各个参数

# 工作端口,Tomcat的默认Connector监听端口,可以查看Tomcat的Server.xml中有port="8009"
worker.worker1.port=8009
# Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.worker1.host=localhost
# worker的类型,允许的值为ajp13、ajp14、lb、status等;ajp13是mod_jk连接WebServer和Tomcat的首选方式(即使用socket作为通信渠道)
worker.worker1.type=ajp13
# 负载平衡因子
worker.worker1.lbfactor=1

注:worker.list中worker的名字应该是对应到Apache Http Server的httpd.conf配置文件中的JkMount的(后面详述)。

3. 修改Apache Http Server的httpd.conf配置文件

修改Apache Http Server安装目录下的conf目录下的httpd.conf文件:

# 载入mod_jk模块,注意模块文件的路径
LoadMole jk_mole moles/mod_jk.so
# 声明workers.properties文件的位置
JkWorkersFile "C:/Program Files/Apache Software Foundation/Apache2.2/workers.properties"
# 声明mod_jk的日志文件位置
JkLogFile "C:/Program Files/Apache Software Foundation/Apache2.2/logs/mod_jk.log"
# 声明mod_jk的日志级别(可选)
JkLogLevel info
# 声明mod_jk的日志的时间戳格式(可选)
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# 将/*.action和/*.jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理
# 注意JkMount后面的worker1即对应worker.properties文件中worker.list里的worker的名称
JkMount /*.action worker1
JkMount /*.jsp worker1

4. 修改DirectoryRoot

网上的文章大多只写到上面就结束了,动态的内容交给Tomcat之一步算是完成了,但静态内容的分配还需接着设置httpd.conf文件。

查找到DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"这一行,并将其值替换为Web应用的路径:

DocumentRoot "D:/DevSoft/apache-tomcat-6.0.18/webapps"

查找到<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">这一行,并将其值替换为Web应用的路径:

<Directory "D:/DevSoft/apache-tomcat-6.0.18/webapps">

至此,动态内容和静态内容的请求分配,才基本完成。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 高校设失恋博物馆,学校这样做有什么意义? 2016年海南会计从业资格证报名要到哪里去审核?需要带什么材料过去呀? 失恋博物馆火了,忍了钻戒,忍了验孕棒,最后一个彻底泪崩,究竟是什么? 如何在 apache 上部署静态页面 海南省会计从业资格证书如何查询通过什么方式能查看 河南一高校设置失恋博物馆,设置这种博物馆的意义是什么? 海南省今年还有会计从业资格考试吗 一个apache怎么部署多个php网站 世界上第一家失恋博物馆创办于何时? 海南会计从业资格证两年忘记做年检是否取消资格 怎么部署apache 和iis 海南省会计从业资格考试取消了吗 apache上适合部署多少个站点啊? 海南会计从业资格证怎么考 apache php mysql都安装好了,再怎么部署网站 海南省会计从业资格证书跨省转怎么转 关于(海南省)会计从业资格证年审的问题! 海南会计从业资格证年限是多少? wps怎么查看历史文档 你好!问一下WPS文档昨天打印出来没保存现在可以找到吗? 考海南会计从业资格证要学哪些书? 你去过失恋博物馆吗?在里面会回忆起自己曾经的爱情吗? 怎么配置apache啊,用的阿里云的服务器想做个自己的博客,用的是一键部... 海南会计从业资格证是不是参加继续教育学习,证书就长期使用了 失恋博物馆让人心酸,红色嫁衣触人心弦,验孕棒看哭游客,你怎么看? 我2014年在海南省取得会计从业资格证,那我需要参加2014年的继续教育吗?谢谢各位的解答 “失恋博物馆”到底有多虐心? Apache一个服务器两个独立IP怎么配置两个网站 会计从业资格证,如果在广东考的,在海南用,要转到海南吗?从业资格证个人信息是在哪里可以查到?是财政 海南会计从业资格证2011&#47;12年没年检,还有用吗?要是还能用,怎么办年检? 深圳有几个失恋博物馆(地址+门票) 满足什么条件能报考海南中级会计职称 海南会计从业资格证 你觉得失恋博物馆到底有多心酸? 海南省定安县会计从业资格证调入单位 海南会计从业资格证证书照片可以更换吗 为何如今大家都喜欢去失恋博物馆呢? 《失恋博物馆的故事》你有没有在其中看到了什么感人故事? 失恋博物馆是什么样子? “失恋博物馆”营造了一个怎样的氛围而备受追捧?