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

 我来答
蒙MengNum1
2018-07-05 · TA获得超过2494个赞
知道大有可为答主
回答量:3004
采纳率:87%
帮助的人:825万
展开全部
1. 安装Apache Http Server、Tomcat、Tomcat Connector(JK Module)
Apache Httpd:从网上下载Apache Http Server 2.2.15的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。
Tomcat:可以选择免安装压缩版(我用的是6.0.18版),很方便,可以注册为系统服务。
JK Module:从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安装目录下的modules目录中。

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模块,注意模块文件的路径
LoadModule jk_module modules/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">

至此,动态内容和静态内容的请求分配,才基本完成。
就烦条0o
2017-04-23 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46488
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
1. 安装Apache Http Server、Tomcat、Tomcat Connector(JK Module)
Apache Httpd:从网上下载Apache Http Server 2.2.15的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。
Tomcat:可以选择免安装压缩版(我用的是6.0.18版),很方便,可以注册为系统服务。
JK Module:找到binary下载,下载目前最新版1.2.30文件mod_jk-1.2.30-httpd-2.2.3.so,将其改名为mod_jk.so,置于Apache Http Server安装目录下的modules目录中。
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模块,注意模块文件的路径
LoadModule jk_module modules/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">
至此,动态内容和静态内容的请求分配,才基本完成。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式