基于Apache和Tomcat的负载均衡实验报告

news/2024/10/22 12:24:51/

说明:本实验为浙江科技大学软件工程本科专业课程《软件体系结构》的实验报告。

五、总结

  1. 负载均衡的基础是集群,集群就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同的硬件构成的计算机。负载均衡即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
  2. Apache是一款Web服务器软件,它可以运行在多种计算机平台上。Apache官网只提供源代码下载,对于Windows用户可以下载民间的二进制包。
  3. byrequests是Apache支持的一种负载均衡策略:轮询,将HTTP请求数平均分配给代理。

一、实验内容或题目

  1. 选定自己开发的应用系统;
  2. Tomcat环境下的负载均衡配置过程;
  3. 将自己的应用部署在步骤2中的环境中。
  4. 测试用户请求。

实验原理图如下。

在这里插入图片描述
说明:<IP地址>:<端口号>为计算机网络应用层的服务入口点,不同的服务入口点可视为不同的系统。在本实验中,由于硬件资源限制,<IP地址>统一取localhost,Apache和2个Tomcat Server运行在不同端口上。

二、实验目的与要求

实验目的:掌握Tomcat环境下负载均衡的配置方法。
实验要求:详细描述负载均衡配置过程中的各个步骤。

三、实验步骤

  1. 下载安装运行Apache
    (1)下载httpd-2.4.48-o111k-x86-vc15.zip,解压至某目录。
    (2)打开conf/httpd.conf文件,找到含有Define SRVROOT的一行,将其值修改为Apache所在路径。
    (3)进入bin目录。以管理员身份打开cmd,执行命令httpd -k install
    (4)打开服务控制台,启动服务Apache2.4。
    (5)浏览器访问http://localhost/进行测试。

  2. 修改conf/httpd.conf
    (1)删除以下行开头的#(取消注释)。

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf

(2)在文件中找到DirectoryIndex index.html,在其末尾添加index.jsp(注意空格)。
(3)在文件末尾添加以下配置。

ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:8045/ loadfactor=1 route=jvm1
BalancerMember ajp://localhost:8042/ loadfactor=1 route=jvm2
</Proxy>
  1. conf/extra/httpd-vhosts.conf的末尾添加以下配置
<VirtualHost *:80>ServerName 127.0.0.1ServerAlias localhostProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=OnProxyPassReverse / balancer://mycluster/ErrorLog "logs/lbtest-error.log"CustomLog "logs/lbtest-access.log" common 
</VirtualHost>
  1. 下载安装运行Tomcat
    (1)下载apache-tomcat-9.0.46-windows-x86.zip,解压到两个不同的目录。
    (2)修改两个Tomcat的conf/server.xml
元素属性名Tomcat A属性值Tomcat B属性值
<Server…>port80408043
<Connector protocol=“HTTP/1.1”…>port80418044
<Connector protocol=“AJP/1.3”…>port80428045
<Engine…>jvmRoutejvm1jvm2

<Connector protocol="AJP/1.3"…>的完整形式:<Connector protocol="AJP/1.3" port="XXXX" redirectPort="8443" secretRequired=""/>。修改port是为了避免冲突。注意:两个Tomcat的AJP port、jvmRoute要与Apache中的配置对应。
(3)部署应用:将应用复制到两个Tomcat的webapp/sy1中,修改其中一个Tomcat的webapp/sy1/index.jsp
(4)运行bin/startup.bat,启动服务器。打开浏览器,分别访问http://127.0.0.1:8041/sy1/index.jsphttp://127.0.0.1:8044/sy1/index.jsp

  1. 测试负载均衡
    浏览器访问http://127.0.0.1:8041/sy1/index.jsp

四、实验结果

第一次访问
在这里插入图片描述

第二次访问
在这里插入图片描述
结论:负载均衡配置成功。(以上结果来自单页面JSP应用,也可以使用其他技术实现)


http://www.ppmy.cn/news/1532735.html

相关文章

创建游戏暂停菜单

创建用户控件 设置样式 , 加一层 背景模糊 提升UI菜单界面质感 , 按钮用 灰色调 编写菜单逻辑 转到第三人称蓝图 推荐用 Set Input Mode Game And UI , 只用仅UI的话 增强输入响应不了 让游戏暂停的话也可以用 Set Game Paused , 打勾就是暂停 , 不打勾就是继续游戏 , 然后…

react crash course 2024(9) proxying

在 proxy:{/api:{target:"http://localhost:8000",changeOrigin:true,rewrite:(path) > path.replace(/^\/api/,)}}

VueUse-----基于 Vue 3 的实用工具库,常用功能介绍及使用案例

简介 VueUse 是一个基于 Vue 3 的实用工具库&#xff0c;它提供了一系列的组合式 API&#xff08;Composition API&#xff09;函数&#xff0c;可以帮助你更方便地处理常见的任务。VueUse 包含了大量的功能&#xff0c;如状态管理、浏览器 API 封装、响应式数据处理等。 安装 …

大模型增量训练--基于transformer制作一个大模型聊天机器人

针对夸夸闲聊数据集&#xff0c;利用UniLM模型进行模型训练及测试&#xff0c;更深入地了解预训练语言模型的使用方法&#xff0c;完成一个生成式闲聊机器人任务。 项目主要结构如下&#xff1a; data 存放数据的文件夹 dirty_word.txt 敏感词数据douban_kuakua_qa.txt 原始语…

Swagger 教程(笔记) Knife4j

假设获取到了整个项目&#xff0c;创建项目相应的结构 MySQL user 表 DROP DATABASE if EXISTS study; CREATE DATABASE study; USE study; CREATE TABLE users (id INT(10) NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL COLLATE utf8_general_ci,password VARCHA…

manim中实现文字换行和设置字体格式

实现换行 from manim import * class Textline(Scene): def construct(self): self.camera.background_color "#2F4F14" # 创建中心文本 horizontal_line Line(startLEFT * 8, endRIGHT * 8, colorWHITE).shift(3 * UP) stext Text("线性代数", …

【C++打怪之路Lv4】-- 类和对象(中)

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分82)&#…

X-Spreadsheet:Web端Excel电子表格工具库

在数字化时代&#xff0c;数据管理与分析的重要性日益凸显。传统的电子表格软件如Microsoft Excel和Google Sheets在数据处理方面发挥着重要作用&#xff0c;但在Web端&#xff0c;一款名为X-Spreadsheet的工具库正以其独特的优势逐渐崭露头角。本文将详细介绍X-Spreadsheet&am…