【系统服务实战】tomcat服务的安装实战

未来要更新的专栏(此表格后面会继续完善)
| 专栏系列 | 学习路线 | 完成情况 |
|---|---|---|
| 云原生系列 | linux基本功系列-基础命令汇总 | 已更新51个命令 |
| 云原生系列 | linux基本功系列-系统服务实战 | 正在更新 |
文章目录
- 前言
- 一. tomcat的概述
- 1.1 什么是tomcat
- 1.2 tomcat的官网
- 二. tomcat单实例的安装
- 2.1 下载tomcat
- 2.2 安装jdk
- 2.3 解压安装 tomcat
- 2.4 启动tomcat并查看效果:
- 总结
前言
大家好,又见面了,我是沐风晓月,本文是专栏【系统服务实战】专栏的第1篇文章,主要讲解tomcat的安装实战。
此专栏是沐风晓月对操作系统中常见的服务进行总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘
一. tomcat的概述
1.1 什么是tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
目前 Tomcat 已经更新到 10.1.X 版本,但是目前企业中的Tomcat服务器,主流版本还是 8.x和9.x,本文基于10.1.5的版本进行讲解。
1.2 tomcat的官网
tomcat的官网地址:https://tomcat.apache.org/
tomcat和apache有点渊源:
- 都是apache组织开发的
- 两者都有http服务的功能,充当web服务器
- 两者都是开源免费的。
但两者也有一定的区别
- apache是C语言开发的,而tomcat是Java开发的,能够更好的支持JSP
- apache解析html,解析不了jsp,但tomcat可以
有时候我们会把apache和tomcat整合起来使用,便于实现动静结合,注: 本文中不涉及动静结合的实现。
二. tomcat单实例的安装
2.1 下载tomcat
打开网址,选择下图中的download


选择 Core 核心二进制压缩包,选择适合的操作系统版本,我这里使用的是centos7
你可以下载到windwos,然后在用工具上传到centos7服务器,也可以直接使用wget下载:
# 要以不安全的方式连接至 dlcdn.apache.org,使用“--no-check-certificate”。
[root@mufeng software]# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.5/bin/apache-tomcat-10.1.5.tar.gz --no-check-certificate
--2023-02-20 16:31:05-- https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.5/bin/apache-tomcat-10.1.5.tar.gz
正在解析主机 dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644
正在连接 dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... 已连接。
警告: 无法验证 dlcdn.apache.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:颁发的证书已经过期。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12127326 (12M) [application/x-gzip]
正在保存至: “apache-tomcat-10.1.5.tar.gz”100%[============================================================================>] 12,127,326 4.42MB/s 用时 2.6s 2023-02-20 16:31:08 (4.42 MB/s) - 已保存 “apache-tomcat-10.1.5.tar.gz” [12127326/12127326])[root@mufeng software]# ll -h
总用量 12M
-rw-r--r--. 1 root root 12M 1月 10 04:22 apache-tomcat-10.1.5.tar.gz
[root@mufeng software]#
2.2 安装jdk
tomcat的启动依赖于java环境,所以需要提前安装好java环境
Tomcat 要求的最低的 JDK 版本是 8,我们尽量用新一点版本的,这里我使用的是 jdk-19
可以下载到本地然后上传,也可以直接使用wget下载
# wget -c https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz
解压jdk 到/usr/local下
[root@mufeng ~]# mkdir !$
mkdir /usr/local/jdk/
[root@mufeng ~]# tar xf jdk-19_linux-x64_bin.tar.gz -C /usr/local/jdk/
[root@mufeng ~]#
[root@mufeng ~]# cd !$
cd /usr/local/jdk/
[root@mufeng jdk]# ls
jdk-19.0.2
添加环境变量:
[root@mufeng software]# vim /etc/profile
[root@mufeng software]# cat !$
cat /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk-19.0.2
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH CLASSPATH
[root@mufeng software]#
使环境变量生效:
[root@mufeng jdk]# source /etc/profile
查看安装后的效果:
[root@mufeng jdk]# java --version
java 19.0.2 2023-01-17
Java(TM) SE Runtime Environment (build 19.0.2+7-44)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)
[root@mufeng jdk]#
2.3 解压安装 tomcat
解压并移动到/usr/local/tomcat中:
[root@mufeng software]# tar xf apache-tomcat-10.1.5.tar.gz
[root@mufeng software]# ls
apache-tomcat-10.1.5 apache-tomcat-10.1.5.tar.gz
[root@mufeng software]# mv apache-tomcat-10.1.5 /usr/local/tomcat
解压好后,直接就可以启动,无需做其他的操作
2.4 启动tomcat并查看效果:
使用命令启动:
[root@mufeng ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jdk-19.0.2
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
在网页端查看效果:
关闭防火墙和selinux
[root@mufeng software]# setenforce 0
[root@mufeng software]# iptables -F
输入IP:8080查看

看到这个图就证明已经安装成功了
总结
以上就是tomcat服务的安装实战,欢迎点赞收藏哦。
- 💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
- 💕 博客主页:mufeng.blog.csdn.net
- 💕 本文由沐风晓月原创,首发于CSDN博客
- 💕 每一个你想要学习的念头,都是未来的你像现在的你求救,不辜负未来,全力奔赴
相关文章:
【系统服务实战】tomcat服务的安装实战
未来要更新的专栏(此表格后面会继续完善) 专栏系列学习路线完成情况云原生系列linux基本功系列-基础命令汇总已更新51个命令云原生系列linux基本功系列-系统服务实战正在更新文章目录前言一. tomcat的概述1.1 什么是tomcat1.2 tomcat的官网二. tomcat单…...
【图文详解】Unity存储游戏数据的几种方法
Unity3D存储游戏数据的方式1 PlayerPrefs: Unity自带的一种简单的键值存储系统2 ScriptableObject: Unity中最灵活的数据管理工具2.1 如何手动创建和修改数据文件2.2 ScriptableObject优缺点总结3 JSON: 轻量级的数据交换格式3.1 序列化与反序列化3.2 用JsonUtility对对象进行序…...
SESAM 安装教程
SESAM (Super Element Structure Analysis Module)是由挪威船级社(DNV-GL)开发的一款有限元分析(FEA)系统,它以 GeniE、HydroD 和 DeepC 等模块为核心,主要用于海工结构的强度评估、…...
语言文件操作
🌱博客主页:大寄一场. 🌱系列专栏:C语言学习笔记 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 目录 前言 C语言中的文件打开和关闭 文件指针 文件的打开和关闭 fclose 文件的顺序读写 fseek ftell …...
Java面试题--熔断和降级的区别
熔断和降级都是系统自我保护的一种机制,但二者又有所不同,它们的区别主要体现在以下几点: 概念不同 触发条件不同 归属关系不同 1.概念不同 1.1熔断概念 “熔断”一词早期来自股票市场。熔断(Circuit Breaker)也…...
阅读笔记5——深度可分离卷积
一、标准卷积 标准卷积在卷积时,同时考虑了特征图的区域和通道信息。 标准卷积的过程如图1-1所示,假设输入特征图的channel3,则每个卷积核的channel都为3,每个卷积核的3个channel对应提取输入特征图的3个channel的特征(…...
Microsoft Dynamics 365:导入License到服务层,通过Business Central Administration Shell
本文主要是Microsoft Dynamics 365的License导入的图解干货,不多赘述,直接上图:第一步:准备好的License文件放在你喜欢的目录下第二步:到开始程序里找到并打开 Business Central Administration Shell3.第三步…...
centos6.10安装FastDfs出错的问题
在centos6.10虚拟机安装dfs文件服务器时,安装报错,报错为: gcc: error trying to exec cc1’: execvp: 没有那个文件或目录 1.ping www.baidu.con 排查网络是否通 2.yum update 排查yum源是否可用 3.yum源地址不可用时,修改yu…...
基础组件之内存池
内存池技术 操作系统在运行进程的过程中,会产生内存碎片,降低了内存的使用率。内存池技术就是为了解决/减少内存碎片的一种方法,内部底层的具体实现根据不同业务场景使用不要的方式,以下是一种好理解的方式,供大家一起…...
前端面试题--了解并简单介绍一下typescript
前端面试题–了解并简单介绍一下typescript TypeScript是JavaScript的超集,具有可选的类型并可以编译为纯JavaScript。 从技术上讲TypeScript就是具有静态类型的 JavaScript 。 向JavaScript添加静态类型的原因是什么?我想原因至少有三个: …...
【pytorch】ModuleList 与 ModuleDict
ModuleList 与 ModuleDict1、ModuleList2、ModuleDict3、总结1、ModuleList 1)ModuleList 接收一个子模块的列表作为输入,然后也可以类似 List 那样进行 append 和 extend 操作: net nn.ModuleList([nn.Linear(784, 256), nn.ReLU()]) net.append(nn.…...
Hive窗口函数语法规则、窗口聚合函数、窗口表达式、窗口排序函数 - ROW NUMBER 、口排序函数 - NTILE、窗口分析函数
Hive窗口函数 文章目录Hive窗口函数语法规则窗口聚合函数窗口表达式窗口排序函数 - ROW NUMBER窗口排序函数 - NTILE窗口分析函数窗口函数也叫开窗函数、OLAP函数其最大特点:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。如果函数具有OVER子句&a…...
Go设计模式之函数选项模式
目录引入函数选项模式(functional options pattern)可选参数默认值接口类型版本引入 假设现在需要定义一个包含多个配置项的结构体,具体定义如下: // DoSomethingOption 定义配置项 type DoSomethingOption struct {// a 配置aa…...
ClickHouse 数据类型、函数大小写敏感性
这里写自定义目录标题SELECT *FROM system.data_type_families注意:case_insensitive0 表示大小写敏感。 ClickHouse 的 String 类型、Int 类型、Float 类型、Decimal类型等都是大小写敏感的(case_sensitive0)。关于ClickHouse大小写敏感&am…...
nodejs基于vue 网上商城购物系统
可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发 目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2. 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行…...
掌握MySQL分库分表(一)数据库性能优化思路、分库分表优缺点
文章目录MySQL数据库性能优化思路【面试题】不分库分表软优化硬优化分库分表结论分库分表能解决的问题解决数据库本身瓶颈连接数解决系统本身IO、CPU瓶颈分库分表带来的问题问题⼀ 跨节点数据库Join关联查询问题二 分库操作带来的分布式事务问题问题三 执行的SQL排序、翻页、函…...
何为小亚细亚?
一、小亚细亚安纳托利亚(Anatolia),又名小亚细亚或西亚美尼亚,是亚洲西南部的一个半岛,隶属于土耳其。安纳托利亚半岛,北临黑海,西临爱琴海,南濒地中海,东接亚美尼亚高原…...
【mircopython】ESP32配置与烧录版本
下载ESP32的Micropython固件 官方连接https://www.micropython.org/download/esp32/ 看了下描述,上面的是IDF4.x系列编译,下面是IDF3.x系列编译,我们默认选新的 下载安装CP2102驱动 CP210x USB to UART Bridge VCP Drivers - Silicon Labs…...
Yaml:通过extrac进行传参,关联---接口关联封装(基于一个独立YAML的文件)
一:在common包中,封装一个yaml_util的工具包 1. 将获取到的数据,写入到extrac.yaml文件中,通过data def write_extract_yaml(data): 2. 需要用到该参数时,读取extrac.yaml文件中,由于会有多个参数&#x…...
vue - vue中对Vant日历组件(calendar)的二次封装
vue中对vant日历选择器组件实现的的二次封装;主要实现功能如下: 主要功能: 日期区间选择(基本);自定义选择器的底部按钮,添加清除时间操作(slot插槽);指定默认选中的日期…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
