个人环境:Windows10,JDK8,Tomcat8.5,Apache2.4,JK模块1.2.4
前言 其实网上有很多教程,但问题是得每次找个正确率很高的却很难。所以在此做个简单的记录,方便快速查找。
注意:
关于JDK环境配置在此不多赘述。
Tomcat9版本配置中将AJP的配置注释了,所以很多人整合不合适
下面会用到cmd命令窗口,一定要以管理员身份打开,否则权限不够。
开始整合 一、下载安装Apache HTTP Server 第一步:下载解压缩下载地址:https://www.apachehaus.com/cgi-bin/download.plx
打开conf文件夹,修改其中“httpd.conf”文件配置;更改为自己的文件安放路径
第三步:安装
用管理员身份打开cmd,进入文件bin目录所在位置,并输入以下命令
# 服务名可以自定义,这里我的是Apache24 httpd -k install -n "Apache24" # 卸载 httpd -k uninstall -n "Apache24"同时可以打开同级目录下的ApacheMonitor程序
第四步:启动 # 启动 Apache 服务 httpd.exe -k start -n "Apache24" # 重启 Apache 服务 httpd.exe -k restart -n "Apache24" # 停止 Apache 服务 httpd.exe -k stop -n "Apache24"并查看是否启动成功,如果可以成功访问localhost:80或者ApacheMonitor程序中按钮亮起说明安装启动成功
二、下载安装Tomcat在此也不做多余赘述,只需去官网下载解压即可
第一步:下载解压缩下载地址:https://tomcat.apache.org/download-80.cgi
第二步:进入bin目录,双击startup.bat即可注意:个人是未修改原始文件配置信息,所以不是从原始文件开始更改的,可能问题在自己的配置上。
三、整合-下载JK模块 第一步:下载解压缩下载地址:
注意:根据自己的需求版本匹配进行下载,个人这里是下载的1.2.40版本
解压缩后,找到mod_jk.so文件,然后将文件复制到Apache下的modules文件夹下
步骤图
在Apache下的conf文件夹下新建
输入以下文件内容
#加载mod_jk Module LoadModule jk_module modules/mod_jk.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMount /*.do controller JkMount /*WEB-INF controller JkMount /*j_spring_security_check controller JkMount /*.action controller JkMount /servlet/* controller JkMount /*.jsp controller JkMount /*.do controller JkMount /*.action controller JkMount /* controller 第四步:修改httpd.conf文件去Apache下,找到该配置文件,在文件末尾添加一段代码,引入mod_jk.conf配置文件
Include conf/mod_jk.conf 第五步:新建“workers.properties” worker.list =controller,tomcat1,tomcat2 #server 列表 #========tomcat1======== worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多 #========tomcat2======== #worker.tomcat2.port=8019 #worker.tomcat2.host=localhost #worker.tomcat2.type=ajp13 #worker.tomcat2.lbfactor = 1 #========controller,负载均衡控制器======== worker.controller.type=lb #指定分担请求的tomcat worker.controller.balanced_workers=tomcat1,tomcat2 #回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理 worker.controller.sticky_session=false #当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的tomcat,但是会丢失回话信息 worker.controller.sticky_session_force=false 建议看网上有人说先启动Apache再去启动Tomcat这样不会出问题,这个点可以注意一下,虽然我个人没遇到。
如果其中会碰到问题,可以参考该博文https://blog.csdn.net/dongdong9223/article/details/64921439
关于Tomcat中AJP的配置