Apache+Tomcat集群部署

1.准备集群环境

a.准备Apache服务器,tomcat与mod_jk文件,这里我是在windows64位的环境上搭建可以从网上下载或者在Apache 2.4.23 Win64mod_jk 1.2.41tomcat 7.0.26进行下载

这里我下载到了D:\LoadBalance目录下

b.将Apache 2.4.23 Win64解压,获得 Apache24 文件夹,这里暂且将此文件夹拷贝至C盘根目录下,因为apache服务器配置文件中默认的路径为C盘下的Apache24文件夹,如下图为httpd.conf文件中的部分配置,如需要将其 安装在其他路径下则需要修改这些配置,这里为了省事儿没有修改

c.将mod_jk1.2.41解压,并将解压出的mod_jk.so拷贝至 Apache24的modules目录下


2.配置文件修改
a.在Apache安装路径下的conf文件夹中新建mod_jk.conf 增加内容:
--------------------------------mod_jk.conf----------------------------------------
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制
jkMount /SKServer/* controller
JkMount /*.jsp controller
JkMount /*.do controller
--------------------------------------------------------------------------------------

b.在Apache安装路径下的conf文件夹中新建workers.properties 
--------------------------------------workers.properties--------------------------
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8009 #ajp协议的端口,如果2个tomcat部署在同一个服务器中,那个ajp端口需要不同
worker.tomcat1.host=127.0.0.1 #tomcat的所在主机的ip,如果是本机,则写本机的ip即可
worker.tomcat1.type=ajp13 #协议类型
worker.tomcat1.lbfactor=1 #负载因子
#========tomcat2========
worker.tomcat2.port=8019
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1 #如果多个tomcat,该参数相同,表示等比例,如果想tomcat负载多一点,只要把这个参数改的大一点即可,具体多少还是得看情况
#========tomcat3========
worker.tomcat3.port=8029
worker.tomcat3.host=127.0.0.1
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor=1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.retries=3  #请求失败以后重试次数
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3 #controller控制的tomcat的名称,分别为tomcat1和tomcat2,由tomcat中的server.xml中设值
worker.controller.sticky_session=false #回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理
worker.controller.sticky_session_force=false #当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的tomcat,但是会丢失回话信息
----------------------------------------------------------------------------------------------

c.打开conf文件夹中的httpd.conf,在最末尾处加上:
LoadModule jk_module modules/mod_jk.so
Include "C:/Apache24/conf/mod_jk.conf"

3.修改tomcat配置
a.若在一台服务中部署多个tomcat则需要修改server.xml文件
确保 <Server port="8005" shutdown="SHUTDOWN">
        <CONNECTOR port="8080
        <CONNECTOR port="8009"
三个端口在同一台服务器上不能冲突,我在这里将第三位顺序加1解决,比如8105,8180,8109;8205,8280,8209。。。

b.<Connector port="8009" 节点中加入jvmRoute="tomcat1"属性
如果多个tomcat部署在同一个服务器中,此处的ajp协议端口必须不一样,并且需要增加jvmRoute属性,该属性的值即为workers.properties中的tomcat的名称
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" jvmRoute="tomcat1"/>

cserver.xml配置文件中的<Cluster>节点的注释去掉

d. 应用中的web.xml中必须添加<distributable/>属性用于告诉web容器,该项目属于分布式项目,不然无法session replication

4.安装Apache以及注册apache服务
a.修改conf目录下httpd.conf文件,找到ServerName localhost:80 将ip地址与端口号修改为正确的值
b.cmd打开命令行窗口,切换到apache安装目录的bin目录下,
    执行:httpd.exe -k install 安装apache服务器
c.执行:httpd.exe -n "Apache2.4" –t 注册Apache2.4为windows服务
d.执行:httpd.exe -w -n "Apache2.4" -k start 启动已安装的apache服务
e.测试安装结果,在浏览器输入http://localhost:port 显示

f.若配置文件修改,则需要重启服务后才能加载
 执行:httpd.exe -k restart 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值