apache与tomcat整合(一)

本文详细介绍如何通过mod_jk实现Apache与Tomcat的整合,包括配置workers.properties文件及httpd.conf文件的具体步骤,使Apache能正确转发请求到Tomcat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

apache、tomcat、JDK的下载与安装就不说了。


本次使用mod_jk方式,所以要下载与apache对应的mod_jk.so,我使用的是apache2.2,mod_jk.so1.2.37,下载地址自己去找。


下面是步骤:

1、把mod_jk.so放到apache的modules文件夹下;


2、在tomcat的conf文件夹下新建workers.properties文件,内容如下:

workers.tomcat_home=D:\worksoft\tomcat\tomcat-server1
#让 mod_jk 模块感知 Tomcat,<span style="color:#ff6666;">注:改为你自己的tomcat目录</span>
workers.java_home=D:\worksoft\jdk8\jre
#让 mod_jk 模块感知 jre,<span style="color:#ff6666;">注:改为你自己的jdk目录</span>
ps=\
#指定文件路径分割符
worker.list=config1
worker.config1.port=8999
#工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配,注:我的端口是8999
worker.config1.host=localhost
#Tomcat服务器的地址
worker.config1.type=ajp13
#类型
worker.config1.lbfactor=1
#负载平衡因数

再要注意了,

worker.list=config1中,conifg1为自定义名称,但此名称必须与下文所述的 “/Apache 2.2/conf/httpd.conf ” 文件中 ,JkMount 指令对应的名称相匹配。


3、修改apache的conf/httpd.cnf文件,在文件的末尾加上如下配置:

# 设置虚拟主机,定义端口为80
 <VirtualHost 127.0.0.1:80>
     ServerName 127.0.0.1
     #定义服务名称
     DocumentRoot "D:/worksoft/tomcat/tomcat-server1/webapps"
     #定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录
     DirectoryIndex index.html index.htm index.jsp
     ErrorLog logs/shsc-error_log.txt
     CustomLog logs/shsc-access_log.txt common
     #例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送
     JkMount /sun.shop/blog/* config1
     #例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析
     JkMount /*.jsp config1
     #例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析
     JkMount /*.do config1
     #例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析
     JkMount /*.action config1
     #例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析
 </VirtualHost>
 
 # 允许客户端访问此路径
 <Directory "D:/worksoft/tomcat/tomcat-server1/webapps">  
     Options Indexes FollowSymLinks  
     AllowOverride None  
     Order allow,deny  
     Allow from all  
 </Directory>  
 
 LoadModule jk_module modules/mod_jk.so
 # 此处 mod_jk.so 文件为你下载的文件
 JkWorkersFile "D:/worksoft/tomcat/tomcat-server1/conf/workers.properties"
 # 指定tomcat监听配置文件地址
 JkLogFile "D:/worksoft/tomcat/tomcat-server1/logs/mod_jk2.log"
 # 指定日志存放位置
 JkLogLevel info

注意:注意 JkMount 指令中的变量必须与worker.list 所配置的名称相同。

JkMount /*.jsp config1 指令代表当客户端向 Apache 发送 *.jsp 页面请求时,把处理指向 Tomcat。当使用 Struts时建议使用  *.action、*.do等后缀命名动作,否则若使用无后缀命名时,加入 JkMount /* config1命令,Apache 则会把包括 *.html等静态页面所有请求,都转向 Tomcat。


4、OK,在tomcat的webapps下面建一个项目test,里面加一个index.jsp页面,里面随便写点东西吧。


5、启动tomcat和apache,确保都启动成功后,在浏览器中输入localhost/test/index.jsp,这里注意,我的tomcat的访问端口是8080,不是80,所以当我没有加端口,代表访问的就是80,也就是说配置成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值