Nginx+Tomcat负载均衡群集

一.案例:部署Tomcat

1.案例分析

1.1案例概述

京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java 语言开发的Web 站点。目前,IBM 的 WebSphere 及 0racle 的 WebLogic 占据了市面上 Java 语言 Web 站点的大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司 的 Web 场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。
Tomcat 自 5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和 可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。 目前,大多数用于 JSP 技术开发的电子商务网站基本应用了Tomcat,而且 Tomcat 的Servlet 和JSP这两种 API 也完全可以适用于 V3 版移联建站管理系统。

1.2案例前置知识点

(1)Tomcat 简介
名称由来:Tomcat 最初是由Sun 的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun 贡献给 Apache 软件基金会。由于大部分开源项目0’Reilly 都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为 Tomcat(公猫)。而 0’Reilly 出版的介绍 Tomcat 的书籍的封面也被设计成了一个公猫的形象。而 Tomcat 的 Logo 兼吉祥物也被设计成了一只公猫。
其实 Tomcat 在开始研发的时候并不叫这个名字,早期Tomcat 项目的名字叫Catalina,所以当我们安装完 Tomcat 后会发现安装路径下面有很多和 Catalina 有关的目录和文件,而这些文件通常也是我们使用或者配置Tomcat 的重要文件。
(2)应用场景
Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP器,程序的首选。 一般来说,Tomcat虽然和 Apache或者 Nginx 这些 Web 服务器一样,具有处理 HTML页面的功能,然而由于其处理静态HTML的能力远不及 Apache 或者Nginx,所以 Tomcat 通常是作 为一个 Servlet 和 JSP 容器,单独运行在后端。

2.案例实施

2.1实施准备

(1)关闭 firewalld 防火墙。
请添加图片描述

(2)在安装Tomcat之前必须先安装JDK。
JDK 的全称是 Java Development Kit,是 Sun 公司免费提供的 Java 语言的软件开发工具包,其中包含 Java 虚拟机(JVM)。编写好的Java 源程序经过编译可形成Java 字节码,只要安装了 JDK,就可以利用 JVM 解释这些字节码文 件,从而保证了Java 的跨平台性。
在平台兼容性方面,IDK作为解释字节码文件并据此调用操作系统API 实现对应功Java 虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat 也具有上述特征,默认情况下 JDK 已经安装,所以需要预先下载Tomcat,本章中所使用的 Tomcat 软件的源码包为 apache-tomcat-9.0.8.tar.gz。

2.2查看JDK是否安装

请添加图片描述

2.3安装配直 Tomcat

(1)Tomcat 的安装和配置步骤如下:
请添加图片描述

(2)解压后生成 apache-tomcat-9.0.8文件夹,将该文件夹移动到/usr/local/下,并改名为 tomcat9。
请添加图片描述

(3)启动 tomcat
请添加图片描述

(4)打开浏览器访问测试:http://172.16.16.172:8080/,如果出现的界面,则表示Tomcat 已经启动成功。
请添加图片描述

2.4 Tomcat 配置相关说明

(1)主要目录说明
请添加图片描述

—bin/:存放 Windows 或 Linux 平台上启动和关闭 Tomcat 的脚本文件。
—conf/:存放 Tomcat 服务器的各种全局配置文件,其中最重要的是 server.xml 和web. xml.
—lib/:存放 Tomcat 运行需要的库文件(JARS)
—logs:存放 Tomcat 执行时的 L0G 文件。
—webapps:Tomcat 的主要Web 发布目录(包括应用程序示例)。
—work:存放JSP 编译后产生的class 文件。
(2)配置文件说明
请添加图片描述

catalina.policy:权限控制配置文件。
catalina.properties:Tomcat 属性配置文件。
context.xml:上下文配置文件。
logging.properties:日志log 相关配置文件。
server.xml:主配置文件。
tomcat-users.xml:manager-gui管理用户配置文件(Tomcat安装后提供一个manager-gui 的管理界面,通过配置该文件可以开启访问)。
web.xml:Tomcat 的servlet、servlet-mapping、filter、MIME 等相关配置。

2.5 Tomcat主配置文件说明

server.xml 为Tomcat 的主要配置文件,通过配置该文件,可以修改 Tomcat 的启动端 口、网站目录、虚拟主机、开启 https 等重要功能。

2.6Tomcat Server 的组成部分说明

Tomcat Server 出 Server、Service、Connector、Engine、Host 和 Context 组成。(1)ServerServer 元素代表了整个Catalina的servlet 容器。
(2)Service
Service 是这样一个集合:它由一个或者多个 Connector,以及一个 Engine(负责处理所有Connector 所获得的客户请求)组成。
(3)Connector
一个Connector 在某个指定端口上侦听客户请求,并将获得的请求交给Engine 来处理,从Engine 处获得回应并返回客户。
Tomcat 有两个典型的 Connector,一个直接侦听来自 browser 的 http 请求,一个侦听来自其他 WebServer 的请求。
Coyote Http/1.1 Connector 在端口 8080 处侦听来自客户 browser 的 http 请求:
Coyote JK2 Connector 在端口8009 处侦听来自其他 WebServer(Apache)的servlet/jsp 代理请求。
(4)EngineEngine 下可以配置多个虚拟主机 Virtual Host,每个虚拟主机都有一个域名。当 Engine 获得一个请求时,它把该请求匹配到某个 Host 上,然后把该请求交给该 Host来处理。
Engine 有一个默认虚拟主机,当请求无法匹配到任何一个 Host 上的时候,将交给该默认 Host 来处理。
(5)Host
Host 代表一个 Virtual Host,即虚拟主机,每个虚拟主机和某个网络域名 DomainName 相匹配。
每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个 Web App 对应于-个Context,有一个Context path。
当 Host 获得一个请求时,将把该请求匹配到某个Context 上,然后把该请求交给该 Context 来处理,匹配的方法是“最长匹配”,所以一个 path==""的 Context 将成为该 Host 的默认 Context。
所有无法和其他 Context 的路径名匹配的请求都将最终和该默认 Context 匹配。
(6)Context
一个 Context 对应于一个 Web Application,一个 Web Application 由一个或者多个 Servlet 组成。

2.7建立Java的Web站点

执行下面步骤可以建立 Java 的 Web 站点。
(1)在根目录下建立一个web目录,并在里面建立一个webapp1目录,用于存放网站文 件。
请添加图片描述

(2)在webapp1 目录下建立一个 index.jsp 的测试页面。
请添加图片描述

(3)修改Tomcat的server.xml 文件。定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webappl,在 host 段增加context 段。
请添加图片描述

(4)关闭 Tomcat,再重新启动。
请添加图片描述

(5)确认 Web 站点
通过浏览器访问 http://192.168.10.101:8080/,出现如图 5.3 所示的页面,说明该Tomcat 站点已经配置成功,并且已经能够运行JSP 了。
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/910020.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/910020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为云Flexus+DeepSeek征文|基于华为云一键部署dify平台构建合同审核助手应用实践

目录 前言 1 华为云一键部署Dify平台 1.1 华为云Dify平台介绍 1.2 部署过程介绍 1.3 登录Dify平台 2 接入华为云 ModelArts Studio 的 DeepSeek 大模型 2.1 获取调用模型服务信息 2.2 在 Dify 中配置模型 3 构建合同审核助手应用 3.1 简要介绍合同审核助手 3.2 开始…

三种经典算法无人机三维路径规划对比(SMA、HHO、GWO三种算法),Matlab代码实现

代码功能 该MATLAB代码用于对比三种元启发式优化算法(SMA、HHO、GWO三种算法, SMA黏菌算法、HHO哈里斯鹰优化算法、GWO灰狼优化算法) 在特定优化问题上的性能,运行环境MATLABR2020b或更高 : 初始化问题模型&#xff…

设计模式精讲 Day 8:组合模式(Composite Pattern)

【设计模式精讲 Day 8】组合模式(Composite Pattern) 开篇 在“设计模式精讲”系列的第8天,我们将深入讲解组合模式(Composite Pattern)。组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示…

【Dify学习笔记】:RagFlow接入Dify基础教程

RagFlow接入Dify基础教程 如果RagFlow还没部署,可参考我另一篇本地部署文章:【Dify学习笔记】:本地部署RagFlow适配Dify 一、RagFlow 1. 配置模型 点击:头像 > Model providers 添加模型供应商、设置默认模型Set default …

Apache ECharts-02.入门案例

一.入门案例 官网下载&#xff1a;下载 - Apache ECharts&#xff0c;下载echarts.js文件&#xff0c;下载好后在其同一个文件夹下创建html文件即可。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>ECharts</title…

社群经济视阈下开源AI智能名片链动2+1模式与S2B2C商城小程序在私域电商中的融合应用研究

摘要&#xff1a;在数字经济与社交网络深度融合的背景下&#xff0c;付费社群凭借精准用户筛选、高价值成员聚合及强信任关系链等优势&#xff0c;成为私域电商发展的核心载体。本文基于社群经济理论&#xff0c;结合“开源AI智能名片链动21模式S2B2C商城小程序”的技术与商业逻…

【Tools】Mac brew工具

Homebrew&#xff08;简称 brew&#xff09;是 macOS&#xff08;也支持 Linux&#xff09;上的一款 包管理工具&#xff0c;它的作用类似于&#xff1a; Ubuntu 下的 aptCentOS 下的 yumArch Linux 下的 pacman 一句话概括&#xff1a; brew 是用来在 macOS 上安装、管理软件…

IEEE RAL 双臂机器人三连抓估计物体状态 无需特制夹爪或视觉相机 - 大阪大学万伟伟老师团队

IEEE RA-L | 万伟伟老师团队提出双臂机器人规划控制方法有效降低被抓物姿态不确定性 日本大阪大学万伟伟老师团队针对双臂机器人开发了一种重复抓取规划和阻抗控制的方法&#xff0c;该方法通过两个机械臂依次寻找抓取位置和物体姿态&#xff0c;并通过三个正交抓取动作&#x…

AtomicInteger 和 volatile Integer对比

AtomicInteger 和 volatile Integer 虽然都与线程安全有关&#xff0c;但本质完全不同。它们的主要区别体现在原子性保证和功能上&#xff1a; &#x1f50d; 核心区别对比表 特性volatile IntegerAtomicInteger原子性❌ 不保证复合操作原子性✅ 保证所有操作的原子性自增操作…

一生一芯 PA2 RTFSC

从src/isa/riscv32/inst.c出发。 向上搜索&#xff0c;理解宏定义的含义。 R(i) #define R(i) gpr(i) R(i)&#xff1a;访问第i号通用寄存器 会被替换为&#xff1a; #define gpr(idx) (cpu.gpr[check_reg_idx(idx)]) 分为两个部分&#xff1a; cpu.gprcheck_reg_idx c…

深度学习——手写数字识别

深度学习——手写数字识别 学习深度学习的朋友应该对MNIST数据集不陌生吧&#xff0c;相信很多人在刚开始学习深度学习的时候都会用到MNIST数据集进行书写数字识别。本篇文章参考鱼书创建一个深度网络来进行书写数字识别的任务。 如上图所示&#xff0c;这里使用的卷积层全都是…

HashMap算法高级应用实战:频率类子数组问题的5种破解模式

本文将深入剖析5种基于HashMap的高级模式&#xff0c;通过原理详解、多语言实现、性能对比和工业级应用&#xff0c;助您彻底掌握频率类子数组问题。 1. 深入解析&#xff1a;频率类子数组问题 1.1 问题定义与分类 频率类子数组问题是指需要统计或查找满足特定元素频率条件的…

【精选】计算机毕业设计HTML5智能宠物寻找与领养系统 跨平台宠物匹配 地图定位找宠 领养申请审核系统源码+论文+PPT+讲解

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

拼多多商家端 anti_content 补环境分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 部分python代码 import execjs impor…

电脑、手机长时间不关机可以吗

电脑和手机常年处于开机状态&#xff0c;只有在没电或者系统提示更新的时候才会关机。那问题来了&#xff0c;电脑、手机长时间不关机到底可不可以呢&#xff1f;今天咱们就来好好唠唠。 手机长时间不关机的情况 先来说说手机。现在的智能手机功能越来越强大&#xff0c;我们…

「AI大数据」| 《华为:面向智能制造的工业大模型标准化研究报告》

今天给大家介绍 《华为:面向智能制造的工业大模型标准化研究报告》&#xff0c;这是一份由中国电子技术标准化研究院联合华为等多家企业编写的权威报告&#xff0c;聚焦工业大模型在智能制造领域的标准化发展。报告详细分析了工业大模型的技术架构、应用场景、标准化现状与挑战…

Dinky1.2.3基于Kubernetes Application模式提交Flink作业

前言 Dinky 是一个开箱即用、易扩展&#xff0c;以 Apache Flink 为基础&#xff0c;连接 OLAP 和数据湖等众多框架的一站式实时计算平台&#xff0c;致力于流批一体和湖仓一体的探索与实践。 致力于简化Flink任务开发&#xff0c;提升Flink任务运维能力&#xff0c;降低Flink…

【软考高级架构设计师】——2025年上半年软考真题(回忆版)

目录 一、综合知识1.1、计算机基础与操作系统(15道单选)1.2、软件工程与架构(16道单选)1.3、数据与网络(8道单选)1.4、数学与逻辑(4道单选)1.5、其他(27道单选)1.6、英文题(质量属性)(5道单选)二、案例分析2.1、大模型训练系统(必选题)2.2、医院知识图谱(可选…

哈夫曼树Python实现

哈夫曼树构建原则&#xff1a; .统计频率&#xff1a;对待编码字符&#xff08;或数据块&#xff09;的频率进行统计。.初始化森林&#xff1a;将每个字符视为一棵只有根节点的二叉树&#xff0c;权值为频率。.合并树&#xff1a;重复以下操作&#xff0c;直到只剩一棵树&…

Dockerfile的学习与实践

Dockerfile通过一系列的命令和参数&#xff0c;构建自定义镜像。一般步骤如下&#xff1a; 一. 常用命令说明 基础命令具体命令描述例子FROMFROM[基础镜像:版本号]基于指定的基础镜像构建自定义镜像FROM eclipse-temurin:17-jdk-alpineRUNRUN构建容器需要运行的命令&#xff0…