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

【系统服务实战】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 110 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的特征&#xff08…...

Microsoft Dynamics 365:导入License到服务层,通过Business Central Administration Shell

本文主要是Microsoft Dynamics 365的License导入的图解干货,不多赘述,直接上图:第一步:准备好的License文件放在你喜欢的目录下第二步:到开始程序里找到并打开 Business Central Administration Shell3.第三步&#xf…...

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插槽);指定默认选中的日期…...

NonBlockingDelay:嵌入式非阻塞延时库原理与实践

1. 项目概述NonBlockingDelay 是一个专为嵌入式系统设计的轻量级、零依赖、单头文件(.hpp)非阻塞延时库。其核心目标是彻底替代delay()这类会挂起 CPU、阻塞所有任务执行的同步延时函数,使开发者能够在维持主循环(loop()&#xff…...

模拟开关原理与应用全解析

1. 模拟开关的本质与应用场景模拟开关这个器件,在电路设计中扮演着"交通警察"的角色。想象一下城市道路上的红绿灯——它不会改变车辆本身,只是控制着车流的通断和方向。模拟开关的工作原理与之类似,它专门用于控制模拟信号的路径选…...

企业 Agent 流程上线后,如何实现持续优化与迭代?——2026年企业级智能体长效运营全景指南

进入2026年,企业级智能体(Enterprise AI Agent)已从早期的“实验性POC”全面转向“大规模生产部署”。然而,行业调研显示,超过60%的Agent流程在上线初期表现惊艳,却在运行3-6个月后因业务环境变化、知识库过…...

Ansible Playbook实战指南:从基础到高级技巧全解析

1. Ansible Playbook基础入门 第一次接触Ansible Playbook时,我被它简洁的YAML语法和强大的自动化能力惊艳到了。记得当时需要给50台服务器部署Nginx,传统方式要手动操作每台机器,而用Playbook只花了10分钟就搞定了全部部署。这种效率提升让我…...

4.2 学习笔记

Mysql 数据库专题1.本专题的学习重点1、熟悉Mysql数据库的连接工具2、掌握查询的SQL语句的编写2.什么是数据库数据库就是存储数据的仓库3.为什么要学数据库Mysql在测试过程中,有时候需要通过访问数据库验证数据的正确性比如:验证统计报表....4.企业主流的…...

暗黑破坏神2存档修改神器:从入门到精通的完整指南

暗黑破坏神2存档修改神器:从入门到精通的完整指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 如果你是暗黑破坏神2的忠实玩家,一定遇到过反复刷装备的枯燥、角色培养的漫长过程。d2s-editor作为一款强…...

GitHub被封杀后:开源难民在区块链的逃亡

对于全球软件开发者而言,GitHub不仅是代码仓库,更是数字时代的公共广场与精神家园。然而,近年来一系列地缘政治风波与技术壁垒,使得这片曾经自由的土地不断竖起高墙。从伊朗、俄罗斯开发者账号的全面封禁,到针对特定IP…...

打造专业视频编辑App时间线:基于android-advancedrecyclerview的终极拖拽实现指南

打造专业视频编辑App时间线:基于android-advancedrecyclerview的终极拖拽实现指南 【免费下载链接】android-advancedrecyclerview RecyclerView extension library which provides advanced features. (ex. Googles Inbox app like swiping, Play Music app like d…...

119. 使用 Fluentd concat 过滤器插件在牧场日志中串接多行日志

Situation 地理位置Logs of multiple lines are separated across multiple log events within Pod logs and there is a need to combine them into a single event before forwarding them to a logging solution. 多行日志在 Pod 日志中被分隔在多个日志事件中,…...

118. 从 RKE1(Docker)迁移到 RKE2(容器化)后,JSON 日志未能正确解析

Situation 地理位置After migrating the cluster from RKE1 to RKE2, JSON logs sent to Elasticsearch are not being split into fields correctly. 在将集群从 RKE1 迁移到 RKE2 后,发送到 Elasticsearch 的 JSON 日志没有被正确划分为字段。 Resolution 结局T…...