当前位置: 首页 > news >正文

深入理解Tomcat:Java Web服务器的安装与配置

大家好!今天我们来聊聊Java Web开发中最重要的工具之一——Apache Tomcat。Tomcat是一个开源的Java Servlet容器和Web服务器,它是运行Java Web应用程序的核心环境。无论是开发、测试还是部署Java Web应用,Tomcat都是不可或缺的工具。本文将详细介绍Tomcat的安装、配置以及常见问题的解决方法,帮助你快速上手并深入理解Tomcat的工作原理。准备好了吗?让我们开始吧!😄


一、Tomcat简介

1. 什么是Tomcat?

Tomcat是Apache软件基金会的一个开源项目,它是一个实现了Java Servlet、JavaServer Pages(JSP)和WebSocket技术的Web服务器。Tomcat的主要功能包括:

  • Servlet容器:运行Java Servlet和JSP。
  • HTTP服务器:处理HTTP请求并返回响应。
  • 轻量级:相比其他Java EE服务器(如JBoss、WebLogic),Tomcat更轻量,适合中小型项目。

2. Tomcat的核心组件

  • Catalina:Tomcat的Servlet容器,负责处理Servlet和JSP。
  • Coyote:Tomcat的HTTP连接器,负责处理HTTP请求。
  • Jasper:Tomcat的JSP引擎,负责将JSP编译为Servlet。

二、Tomcat的安装

1. 下载Tomcat

首先,访问Tomcat官网下载适合你操作系统的Tomcat版本。Tomcat有多个版本,建议选择最新的稳定版本(如Tomcat 10.x)。

2. 安装Tomcat

Tomcat是一个绿色软件,解压即可使用。以下是安装步骤:

Windows系统
  1. 将下载的ZIP文件解压到指定目录,例如C:\Tomcat
  2. 配置环境变量:
    • 新建系统变量CATALINA_HOME,值为Tomcat的安装路径(如C:\Tomcat)。
    • Path变量中添加%CATALINA_HOME%\bin
Linux/Mac系统
  1. 将下载的tar.gz文件解压到指定目录,例如/opt/tomcat
  2. 配置环境变量:
    • 打开终端,编辑~/.bashrc~/.zshrc文件,添加以下内容:
      export CATALINA_HOME=/opt/tomcat
      export PATH=$CATALINA_HOME/bin:$PATH
      
    • 执行source ~/.bashrc使配置生效。

3. 启动Tomcat

在终端或命令行中执行以下命令启动Tomcat:

# Windows
catalina.bat start# Linux/Mac
catalina.sh start

启动后,打开浏览器访问http://localhost:8080,如果看到Tomcat的欢迎页面,说明安装成功。


三、Tomcat的配置

1. 配置文件目录结构

Tomcat的配置文件位于$CATALINA_HOME/conf目录下,主要文件包括:

  • server.xml:Tomcat的主配置文件,用于配置端口、连接器、虚拟主机等。
  • web.xml:全局的Web应用程序配置文件。
  • context.xml:全局的上下文配置文件。

2. 修改端口号

默认情况下,Tomcat使用8080端口。如果需要修改端口号,可以编辑server.xml文件:

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

port属性的值修改为其他端口号(如8081),然后重启Tomcat。

3. 配置虚拟主机

虚拟主机允许在同一个Tomcat实例中运行多个Web应用程序。以下是配置虚拟主机的步骤:

  1. server.xml中添加<Host>元素:
    <Host name="www.example.com" appBase="webapps/example"unpackWARs="true" autoDeploy="true"><Context path="" docBase="." />
    </Host>
    
  2. webapps目录下创建example文件夹,并将Web应用程序放入其中。
  3. 重启Tomcat,访问http://www.example.com:8080即可访问该虚拟主机。

4. 配置用户权限

Tomcat的管理界面(如Manager App)需要用户登录。可以通过编辑$CATALINA_HOME/conf/tomcat-users.xml文件配置用户权限:

<tomcat-users><role rolename="manager-gui"/><role rolename="admin-gui"/><user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

四、Tomcat的常见问题处理

1. 端口冲突

如果Tomcat启动失败,可能是端口被占用。可以通过以下命令查找占用端口的进程并终止:

# Windows
netstat -ano | findstr :8080
taskkill /PID <PID> /F# Linux/Mac
lsof -i :8080
kill -9 <PID>

2. 内存不足

如果Tomcat运行大型应用时内存不足,可以通过修改$CATALINA_HOME/bin/catalina.sh(或catalina.bat)文件调整JVM内存:

# Linux/Mac
export JAVA_OPTS="-Xms512m -Xmx1024m"# Windows
set JAVA_OPTS=-Xms512m -Xmx1024m

3. 部署失败

如果Web应用程序部署失败,可以查看$CATALINA_HOME/logs目录下的日志文件(如catalina.out)排查问题。


五、总结:Tomcat是Java Web开发的利器!

恭喜你!现在你已经掌握了Tomcat的安装、配置以及常见问题的解决方法。Tomcat是Java Web开发的核心工具,掌握了它,你就能轻松构建和部署Web应用程序。

接下来,你可以尝试在实际项目中应用这些知识,比如配置虚拟主机、优化Tomcat性能等。加油,未来的Java Web开发大神!🚀


PS:如果你在学习过程中遇到问题,别担心!欢迎在评论区留言,我会尽力帮你解决!😄

相关文章:

深入理解Tomcat:Java Web服务器的安装与配置

大家好&#xff01;今天我们来聊聊Java Web开发中最重要的工具之一——Apache Tomcat。Tomcat是一个开源的Java Servlet容器和Web服务器&#xff0c;它是运行Java Web应用程序的核心环境。无论是开发、测试还是部署Java Web应用&#xff0c;Tomcat都是不可或缺的工具。本文将详…...

【从零开始学习计算机科学】编译原理(五)语法制导翻译

【从零开始学习计算机科学】编译原理(五)语法制导翻译 语法制导翻译语法制导定义SDDSDD的求值顺序两类重要的SDD语法制导的翻译方案SDTSDT的实现L属性定义的SDT左递归翻译方案语法制导翻译 语法表述的是语言的形式,或者说是语言的样子和结构。而程序设计语言中另一方面,是…...

Git使用(二)--如何配置 GitHub 远程仓库及本地 Git 环境

在日常的开发过程中&#xff0c;使用版本控制工具 Git 是一个非常重要的技能&#xff0c;特别是对于管理和协作开发。通过 GitHub&#xff0c;我们可以轻松地进行代码版本管理和共享。这篇博客将带您一步步学习如何配置 Git 环境并将本地仓库与 GitHub 远程仓库连接起来。 一、…...

【MySQL是怎么运行的】0、名词解释

聚簇索引&#xff1a;聚簇索引和数据在一起&#xff0c;又名主键索引&#xff0c;是主键id构建的一颗B树&#xff0c;非叶节点是主键id&#xff0c;叶子节点是真实数据。其他索引统称二级索引&#xff0c;也称为非聚簇索引。覆盖索引&#xff1a;查找的数据就在索引树上&#x…...

网络安全事件响应--应急响应(windows)

应用系统日志 Windows主要有以下三类日志记录系统事件&#xff1a;应用程序日志、系统日志和安全日志。 系统和应用程序日志存储着故障排除信息&#xff0c;对于系统管理员更为有用。安全日志记录着事件审计信息&#xff0c;包括用户验证&#xff08;登录、远程访问等&#x…...

使用 UNIX 命令在设计中搜索标识符:vcsfind 的入门指南

在现代软件开发和硬件设计中&#xff0c;快速准确地定位和搜索特定标识符是提高开发效率的关键。本文将介绍如何使用 UNIX 命令 vcsfind 在设计中搜索标识符&#xff0c;帮助您更高效地管理您的项目。 什么是 vcsfind&#xff1f; vcsfind 是一个强大的 UNIX 命令行工具&#x…...

Qt不同窗口类的控件信号和槽绑定

做项目的时候我使用了Qt&#xff0c;不同的界面使用了不同的ui的类进行解耦&#xff0c;但是信号和槽绑定的时候可能是不同界面的控件互相进行通讯连接&#xff0c;然而ui指针对于各个界面类是私有成员&#xff0c;无法直接跳过访问&#xff0c;在网上看了一些参考资料&#xf…...

【Godot4.2】Vector2向量插值的应用

求线段的等分点 extends Node2Dvar pos:Vector2 var split_num:int var p1 Vector2(200,200) var p2 Vector2(100,100)func _input(event: InputEvent) -> void:if event is InputEventMouseButton:if event.button_index MOUSE_BUTTON_WHEEL_DOWN:split_num clamp(spl…...

Java线程安全

Java线程安全实现方式及原理详解 一、线程安全的核心概念 线程安全指多线程环境下,程序能正确且一致地处理共享资源的状态,不会因线程调度顺序导致数据不一致或逻辑错误。例如多个线程同时修改共享变量时,需通过同步机制确保操作原子性。 二、主要实现方式及原理 synchro…...

电机控制常见面试问题(九)

文章目录 一、谈谈电机死区时间1.死区时间过短的后果&#xff1a;2.如何判断死区时间不足?3.解决方案 二、请描述对实时操作系统&#xff08;RTOS&#xff09;的理解三.解释FOC算法的原理并比较与其他无刷电机控制算法的优劣四.什么是电机堵转&#xff0c;如何避免电机堵转五.…...

Django与模板

我叫补三补四&#xff0c;很高兴见到大家&#xff0c;欢迎一起学习交流和进步 今天来讲一讲视图 Django与模板文件工作流程 模板引擎&#xff1a;主要参与模板渲染的系统。 内容源&#xff1a;输入的数据流。比较常见的有数据库、XML文件和用户请求这样的网络数据。 模板&am…...

UFW 配置 Ubuntu 防火墙并设置防火墙规则

一、什么是 UFW&#xff1f; UFW&#xff0c;全称为 Uncomplicated Firewall&#xff0c;顾名思义&#xff0c;它是一种简单易用的防火墙管理工具。与传统的防火墙配置工具相比&#xff0c;UFW 以其简洁明了的命令行界面而闻名。虽然它主要为普通用户设计&#xff0c;但它也具…...

在Keil 5中如何建立一个STM32项目

大家在使用Keil时大多都是利用样板项目来建立自己的项目&#xff0c;为了了解基本建立项目的知识写下了本篇文章。 项目建立流程 1.建立项目文件夹并明确其作用 —— 2.下载HAL库 —— 3.拷贝相关文件到对应文件夹 —— 4.打开Keil 5新建项目 —— 5.将项目文件夹添加到项目 …...

Linux 系统负载过高的排查思路

技术探讨&#xff1a;Linux系统负载过高的排查思路 在Linux服务器运行过程中&#xff0c;如果系统负载过高&#xff0c;可能会导致性能下降和服务不稳定。以下是针对Linux系统负载过高问题的排查思路和解决方法&#xff1a; 1. 查看系统负载&#xff1a; 使用uptime或top命令查…...

kotlin高级用法总结

Kotlin 是一门功能强大且灵活的编程语言&#xff0c;除了基础语法外&#xff0c;它还提供了许多高级特性&#xff0c;可以帮助你编写更简洁、高效和可维护的代码。以下是 Kotlin 的一些高级用法&#xff0c;涵盖了协程、扩展函数、属性委托、内联类、反射等内容。 协程&#x…...

Windows Wise Care 365 PRO-中文便携版

Windows Wise Care 365 PRO 链接&#xff1a;https://pan.xunlei.com/s/VOL9UE-i-GLXYr-6KhdyghHOA1?pwdajqe# - 禁止后续强制升级提示弹窗&#xff0c;杜绝后台下载升级文件 - 禁止自动创建开机启动项、任务计划&#xff0c;删除相关选项 - 去右侧无用区域&#xff1a;用户…...

SpringBoot 自动配置原理

自动配置是Spring Boot的关键特性之一&#xff0c;它简化了传统Spring应用繁琐的配置&#xff0c;通过智能推断和条件化配置简化了Spring应用的开发。 1. 自动配置的核心思想 目标&#xff1a;根据项目的依赖&#xff08;如类路径中的 JAR 包&#xff09;和已有的配置&#xf…...

HTMLCSS绘制三角形

1.代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>01triangle</title><s…...

WorkTool 技术解析:企业微信自动化办公的合规实现方案

引言&#xff1a;企业微信生态中的自动化需求 随着企业微信用户规模突破4亿&#xff08;据腾讯2023年财报&#xff09;&#xff0c;其开放生态催生了自动化办公的技术需求。传统RPA&#xff08;机器人流程自动化&#xff09;工具在PC端已广泛应用&#xff0c;但移动端自动化仍…...

Linux机器之间排查网络连通问题

网络连通性排查步骤&#xff08;基于五层模型&#xff09; 以下按照网络五层架构&#xff0c;从底层到高层逐层排查&#xff0c;并分别列出Ubuntu和CentOS对应的命令。 1. 物理层 排查点&#xff1a;网线、网卡状态、物理连接。 命令&#xff08;通用&#xff09;&#xff1a…...

大数据学习(62)- Hadoop-yarn

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…...

Stable Diffusion/DALL-E 3图像生成优化策略

Stable Diffusion的最新版本或社区开发的插件&#xff0c;可以补充这些信息以保持内容的时效性。 云端源想 1. 硬件与部署优化&#xff08;进阶&#xff09; 显存压缩技术 使用--medvram或--lowvram启动参数&#xff08;Stable Diffusion WebUI&#xff09;&#xff0c;通过分…...

21 | 全面测试项目功能

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入 云原生 AI 实战 星球&#xff0c;12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本节课最终…...

Debian系统grub新增启动项

参考链接 给grub添加自定义启动项_linux grub定制 启动项名称自定义-CSDN博客 www.cnblogs.com 1. boot里面的grub.cfg 使用vim打开boot里面的grub.cfg sudo vim /boot/grub/grub.cfg 这时候会看到文件最上方的提示 2. 真正配置grub的文件 从刚才看到的文件提示中&#x…...

C语言中的assert断言,你了解多少呢?

引言 ‘ 介绍了assert 是什么&#xff0c;以及assert的优缺点 一、什么assert是断言 assert.h 头文件定义了宏 assert() &#xff0c;用于在运行时确保程序符合指定条件&#xff0c;如果不符合&#xff0c;就报错终止运行。这个宏常常被称为“断言”。 int a 10;asse…...

设计模式之工厂模式

工厂模式属于创建型设计模式的一种&#xff0c;其实在我看来它更是在面向对象编程语言的抽象层的更加灵活的应用。工厂模式其实在创建型模式中难度较高&#xff0c;整体的理解上需要一定时间进行消化&#xff0c;在一些Java常见框架中&#xff0c;这种模式也是频繁出现的设计&a…...

详细学习 pandas 和 xlrd:从零开始

详细学习 pandas 和 xlrd&#xff1a;从零开始 前言 在数据处理和分析中&#xff0c;Excel 文件是最常见的数据格式之一。Python 提供了强大的库 pandas&#xff0c;可以轻松地处理 Excel 文件中的数据。同时&#xff0c;我们还可以使用 xlrd 来读取 Excel 文件&#xff0c;尤…...

BFS比DFS更好理解「翻转二叉树」

一周没发博客&#xff0c;算法好难&#xff01;一直在复习前面的&#xff0c;哈希表、链表、二叉树已经够我喝一壶了&#xff0c;不过我一定要啃下来&#xff0c;哪怕慢一点&#xff0c;也不能盲目的追求速度&#xff0c;勤于复习才能将知识变成自己的&#xff0c;复习比学习重…...

c++介绍运算符重载九

这段代码中我们可以看到同样是运算符&#xff0c;它的作用是不同的aa<<3;是c内置的移位运算符。 cout<<"hello world"中<<它的作用是插入运算符。将字符串传递给cout对象&#xff0c;从而将字符输出到终端上。这种功能是如何实现的&#xff1f;其…...

重生之我在学Vue--第9天 Vue 3 项目整合

重生之我在学Vue–第9天 Vue 3 项目整合 文章目录 重生之我在学Vue--第9天 Vue 3 项目整合前言一、架构升级&#xff1a;从散件到整机1.1 项目结构重构1.2 核心模块通信图 二、功能整合&#xff1a;CRUD全链路实现2.1 任务管理状态中枢2.2 路由守卫实现数据预取2.3 UI与业务逻辑…...

小程序酒店:如何实现智能预订与在线支付?

在移动互联网快速发展的今天,酒店行业面临着前所未有的机遇与挑战。用户需求日益多样化,市场竞争愈发激烈,传统酒店预订方式已经难以满足现代消费者的需求。而小程序作为一种轻量化、便捷化的移动应用形式,正在成为酒店行业数字化转型的重要工具。通过小程序开发,酒店可以…...

网络信息安全专业(710207)网络安全攻防实训室建设方案

一、引言 随着信息技术的飞速发展&#xff0c;网络空间安全已成为国家安全的重要组成部分&#xff0c;对网络信息安全专业人才的需求日益增长。为满足网络信息安全专业&#xff08;专业代码710207&#xff09;的教学需求&#xff0c;提升学生在网络安全攻防领域的实践能力&…...

npm、pnpm、cnpm、yarn、npx之间的区别

区别 特性npmyarnpnpmcnpmnpx核心定位Node.js 默认包管理增强稳定性与性能高效存储与严格隔离国内镜像加速工具临时执行包命令依赖存储方式扁平化 node_modules扁平化 lock 文件全局硬链接 符号链接同 npm不适用安装速度较慢较快&#xff08;并行下载&#xff09;最快&#…...

数学:从宇宙密码到人工智能的核心语言

——解析数学本质、历史演进与未来革命的3000年全景图 一、数学本质论&#xff1a;宇宙的元语言 1.1 数学实在论的拓扑诠释 根据丘成桐的卡拉比-丘流形理论&#xff0c;物理定律可表述为&#xff1a; M C Y ↪ C P n 满足 c 1 ( M ) 0 \mathcal{M}_{CY} \hookrightarrow \…...

Java中的加盐加密:提升密码存储安全性的关键实践

引言 在现代应用中&#xff0c;用户密码的安全性至关重要。单纯的哈希算法&#xff08;如MD5、SHA-1&#xff09;虽然可以隐藏原始密码&#xff0c;但面对彩虹表攻击和暴力破解时仍存在风险。加盐加密通过在哈希过程中引入随机数据&#xff08;称为“盐”&#xff09;&#xf…...

开启AI开发新时代——全解析Dify开源LLM应用开发平台

开启AI开发新时代——全解析Dify开源LLM应用开发平台 在人工智能迅速发展的今天&#xff0c;如何快速将创意转化为高效可用的应用成为开发者亟待解决的问题。Dify 作为一款开源的 LLM 应用开发平台&#xff0c;以其直观的界面和强大的功能组合&#xff08;包括 agentic AI 工作…...

数学建模:MATLAB强化学习

一、强化学习简述 强化学习是一种通过与环境交互&#xff0c;学习状态到行为的映射关系&#xff0c;以获得最大积累期望回报的方法。包含环境&#xff0c;动作和奖励三部分&#xff0c;本质是智能体通过与环境的交互&#xff0c;使得其作出的动作所得到的决策得到的总的奖励达…...

ELK traceId实现跨服务日志追踪

ELK怎么实现跨服务日志追踪&#xff0c;Trace-Id 具体实现方案及代码_kibana关联其他服务器的日志-CSDN博客 ELKMDC追踪日志 ---- SpringCloud实现传递_elk的mdc-CSDN博客 SpringBoot之HandlerInterceptor拦截器的使用 ——&#xff08;一&#xff09;-CSDN博客 在使用ELK&a…...

【开源项目-爬虫】Firecrawl

看到其他项目引用了这个项目 Firecrawl 用免费额度试了一下&#xff0c;这个项目和之前的 https://r.jina.ai/ 很像&#xff08;类似的还有 https://www.scrapingbee.com/&#xff1f;&#xff09;&#xff0c;将爬取到的网页转换为 markdown 格式&#xff0c;这样大语言模型用…...

波特率、比特率、传信率、传码率......

去年搞过一段时间的无线通信&#xff0c;当时我脑子里真的是一团乱麻&#xff0c;本身咱也不是学通信的&#xff0c;咱是学机械出身的&#xff0c;后面又搞电&#xff0c;反正对于通信这一块就不是很懂&#xff0c;后面也慢慢搞出来了一点小东西&#xff0c;但是对于一些细节还…...

用户模块——redis工具类

1. Redis工具类与基础配置 1.1 什么是Redis&#xff0c;为什么使用它&#xff1f; Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对存储数据库&#xff0c;通常用于缓存数据、存储会话信息等场景。它的主要优点是速度快&#xff0c;支持多种数…...

Synology 部署的 WordPress 無法升級至最新版本時,可以透過以下改良版指南進行排查和解決。

當 Synology 部署的 WordPress 無法升級至最新版本時&#xff0c;可以透過以下改良版指南進行排查和解決。我對內容進行了補充和重新組織&#xff0c;希望能幫助你更高效地處理這類問題&#xff1a; 權限相關問題處理 檢查文件和目錄權限&#xff1a; 確保 WordPress 安裝目錄…...

012-Benchmark

Benchmark 以下是一篇关于Google Benchmark库的全面介绍及使用指南&#xff0c;包含完整C代码示例和核心功能覆盖&#xff1a; Google Benchmark&#xff1a;C 性能基准测试指南 一、库简介 Google Benchmark 是一个专为 C 设计的微基准测试库&#xff0c;用于精确测量代码片…...

百某田网任务脚本

自动化操作百田游戏的任务脚本,特别是用于完成每日任务和积分兑换的功能。 主要功能 任务管理: 脚本通过定时任务查询并执行每天的任务,自动完成任务并兑换积分。 每个任务通过调用do_list()和do_task()函数来查询和完成。 多账号支持: 支持多个账号的登录和管理,账号信息…...

使用纯CSS 实现 侧边栏 拖拽效果

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、效果实现原理二、代码演示三.简单解释下样式四 完整的DEMO总结 前言 有不少需求是要拖动改变侧边栏宽高的&#xff0c;以下就是在不适用js ,只使用css 的情…...

c语言笔记 函数入门

c语言的函数就是用来实现某种功能的&#xff0c;如果说我们的程序代码都写在main函数中&#xff0c;这样会显得很难读懂&#xff0c;而且代码太长过于冗余&#xff0c;显得没有质量。所以我们可以把一些功能用分函数的方法实现功能独立分开&#xff0c;实现c程序的工整还有方便…...

运维新手入门——线缆的使用(Beginner‘s Guide to Operations and Maintenance - Cable Usage)

运维新手入门——线缆的使用 近期不断的有朋友问到线缆的传输距离&#xff0c;我们每天都在与线缆打交道&#xff0c;清楚了解线缆的使用才能在项目中得心应手&#xff0c;我们之前有提到过。 本期我们一起再来总结下常用的线缆传输距离。 01&#xff09; 网线&#xff1a;超…...

JS—闭包:3分钟从入门到放弃

个人博客&#xff1a;haichenyi.com。感谢关注 一. 目录 一–目录二–基础定义三–闭包的运行机制四–闭包实战应用场景五–内存泄漏预防指南六–最佳实践总结 二. 基础定义 闭包&#xff1a;能够访问外部函数作用域的函数&#xff0c;以及其词法环境的组合。举个老生常谈栗…...

python pandas模块

python pandas模块 终于也到介绍pandas的时候了&#xff0c;python中用于处理data的一个lib 从wiki中找到的关于pandas的介绍&#xff0c;如下&#xff0c; Original author(s) Wes McKinney Developer(s) Community Initial release 11 January 2008; 17 years ago [citatio…...

系统部署【信创名录】及其查询地址

一、信创类型 &#xff08;一&#xff09;服务器&#xff1a; 1.华为云 2.腾讯云 3.阿里云 &#xff08;二&#xff09;中央处理器&#xff08;CPU&#xff09;&#xff1a; 1.海思&#xff0c;鲲鹏920服务器 &#xff08;三&#xff09;中间件 1.人大金仓 &#xff0…...