Apache+tomcat 集群配置

本文详细介绍了如何搭建Apache与Tomcat集群,实现负载均衡和失败迁移,包括配置端口、整合mod_jk.so、设置workers.properties以及mod_jk_conf,最终实现web项目的高效运行。
摘要由CSDN通过智能技术生成

集群:

apache、nginx
tomcat: 理论上 单节点tomcat能够稳定的 处理请求并发量 200-300

集群的好处

负载均衡
失败迁移

服务端集群方式:

水平集群:将服务器安装在各个不同的计算机上(失败迁移)
垂直集群:将多个服务器安装在同一个计算机上(负载均衡)

搭建集群:

apache:特点是处理静态资源 html 图片 js			这里的apache是一个服务器工具,
tomcat: 特点是处理动态资源
apache+tomcat: 动静分离
apache:对请求进行分流操作

集群配置

需要的文件:

1.apache
2.tomcat
3.整合需要的文件mod_jk.so

apache

下载地址 : httpd.apache.org
点击download
在这里插入图片描述
点击版本号
在这里插入图片描述
点击file for window
在这里插入图片描述
点击ApacheHaus
在这里插入图片描述
选择一个版本进行下载
在这里插入图片描述
下载完成后解压

tomcat

之前写过tomcat的配置,这里只需要参考下载的部分
https://blog.csdn.net/weixin_44643735/article/details/102683175

整合需要的文件mod_jk.so

下载地址:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
在这里插入图片描述
Ctrl+F 检索httpd 靠下面的比较新一点在这里插入图片描述
下载完成后解压得到这个文件
在这里插入图片描述

需要的文件都有了,开始进行配置

先创建一个文件夹,将apache和tomcat放到一起
tomcat就是复制一份,名字区分一下就行了
在这里插入图片描述

先从tomcat开始配置,

每个tomcat服务器要设置三个端口号,两个要区分开
修改端口 server端口 http协议端口 ajp端口
tomcata: 1005 1080 1009
tomvatb: 2005 2080 2009
--------->打开D:\study\cluster\ tomcat-9-a\conf\server.xml

tomcat-a的xml文件

共需要配置:
3个端口号,一个引擎的jvmRoute 路由名字 和打开集群开关
端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引擎
<Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcata">

打开集群开关就在它下面,已经写好了 只需要将注释去掉
在这里插入图片描述
tomcat-b的配置文件和tomcat-a一样,名字改了,端口号改了即可

开始配置Apache24

先将下载好的 mod_jk.so 文件放以下路径的文件夹中
D:\study\cluster\Apache24\modules

在D:\study\cluster\Apache24\conf文件下新建一个配置文 workers.properties
在这里插入图片描述
在文件中写入以下键值对
在这里插入图片描述

代码
worker.list=controller,tomcata,tomcatb
#tomcat-9-a
	worker.tomcata.port=1009
	worker.tomcata.host=localhost
	worker.tomcata.type=ajp13
#负载均衡的权重
	worker.tomcata.lbfactor=1
#tomcat-9-b
	worker.tomcatb.port=2009
	worker.tomcatb.host=localhost
	worker.tomcatb.type=ajp13
#负载均衡的权重
	worker.tomcatb.lbfactor=2
#controller
	worker.controller.type=lb
	worker.controller.balanced_workers=tomcata,tomcatb
	worker.controller.sticky_session=false

保存关闭
再新建一个配置文件 mod_jk_conf
在这里插入图片描述
写入加载程序
在这里插入图片描述

程序
#加载mod_jk.soworkers.properties
LoadModule jk_module modules/mod_jk.so

#加载workers.properties
JkWorkersFile conf/workers.properties
JkMount /* controller

保存关闭

打开: httpd.conf (该文件是程序运行时的加载文件,将配置文件写进去让程序自动加载)
在这里插入图片描述
Ctrl+f 检索关键字Define SRVROOT 将你自己文件的存放路径填写上
在这里插入图片描述
在该文件的最后加上一句代码:
include conf/mod_jk.conf
如图
在这里插入图片描述

最后

将apache的程序注册到windows服务中
以管理员身份打开cmd 通过命令注册apache服务
在这里插入图片描述
“D:\study\cluster\Apache24\bin\httpd.exe” -k install -n apache24
在这里插入图片描述
如果需要删除服务: sc delete 服务名

Web工程

在tomcat中新建一个最简单的web工程 只要一个index.jsp页面即可
在该文件夹下新建一个文件夹 作为项目名称
D:\study\cluster\tomcat-9-a\webapps
在这里插入图片描述
一个项目最少要包含一个WEB-INF文件 该文件下还要有一个web.xml文件
还需要一个index.jsp 首页
在这里插入图片描述
在这里插入图片描述

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
		 <distributable/>
</web-app>
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>tomcat-a</title>
  </head>
  <body>
	服务器地址:
	<%
		out.print(request.getRemoteAddr()+","+request.getLocalPort());
	%><br/>
	sessionID:
	<%
		out.print(session.getId());
	%>
  </body>
</html>

基本配置完毕

启动apache服务:
右键 此电脑 选择管理
打开服务与应用程序 点击服务
在这里插入图片描述
右键启动即可

启动tomcat-a tomcat-b
在该文件下 \tomcat-9-a\bin\ 双击startup.bat
即可启动服务
在这里插入图片描述
另一个服务器的启动方式一样

注意:
启动前 先删除系统环境变量中的CATALINA_HOME   否则会自动启动指定的tomcat    (在单机环境下)

此时,就可以打开浏览器,访问我们的项目了
localhoat/ClusterProject/ 后面的是你自己的web项目名称
在这里插入图片描述
刷新,会根据服务器的权重将访问请求分配给服务器 但用的是同一个session
在这里插入图片描述

可以将客户端的请求分配到不同的服务器 实现了负载均衡

关闭其中一个服务器,网页还能继续使用 实现了失败迁移

最后 关于命名问题

项目目录名: 任意
jvmRoute:	tomcat路由    两个服务器的名字只要不重复即可
workers.properties:	worker.list=controller,tomcata,tomcatb
	worker.tomcata.port=1009
	worker.tomcatb.port=2009
apache是根据tomcata的port值, 找到对应端口号的服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值