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

Linux 操作系统云服务器安装部署 Tomcat 服务器详细教程

Tomcat 基本概述

Tomcat 服务器是Apache软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。它是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,主要用于开发和调试 JSP 程序。

Tomcat 实现了对 JavaWeb 程序的装载,它是配置 JSP 和 JAVA 系统必备的环境。另外,Tomcat 还是一个 Servlet 和 JSP 容器,它具备处理 HTML 页面的功能,同时也是一个独立的 Servlet 容器。当运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行。

因为 Tomcat 技术先进、性能稳定,而且免费,所以深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。中小型系统和并发访问用户不是很多的场合下,一般会选择使用 Tomcat。

Tomcat 官网

Apache Tomcat - https://tomcat.apache.org/

在该网站上获取到关于Tomcat的各种信息,包括最新的版本发布、文档、新闻、指南等,另外也可以通过该网站提供的下载链接,获取到Tomcat的安装包。

在这里插入图片描述

Linux 下载安装 Tomcat

下载 linux 版本 tomcat 安装包

在这里插入图片描述
linux wget 下载 tomcat

wget 【tomcat 镜像包地址】

linux 操作系统 解压.tar.gz 文件

tar -xzf 文件名.tar.gz

这个命令使用 tar 工具进行解压操作(参数指定操作选项)

-x: 解压缩文件
-z: 使用 gzip 算法进行压缩 / 解压缩
-f: 指定要解压缩的文件
-v: 显示解压过程
tar –xvf file.tar		# 解压 tar
tar -xzvf file.tar.gz 	# 解压 tar.gz
tar -xjvf file.tar.bz2 	# 解压 tar.bz2
tar -xZvf file.tar.Z 	# 解压 tar.Z

解压安装完成(目录展示)

在这里插入图片描述

Linux 启动 Tomcat

[root@VM-4-17-centos bin]# ./startup.sh 
Using CATALINA_BASE:   /home/tomcatdir/apache-tomcat-10.1.13
Using CATALINA_HOME:   /home/tomcatdir/apache-tomcat-10.1.13
Using CATALINA_TMPDIR: /home/tomcatdir/apache-tomcat-10.1.13/temp
Using JRE_HOME:        /home/javaenv/jdk_19.0.2
Using CLASSPATH:       /home/tomcatdir/apache-tomcat-10.1.13/bin/bootstrap.jar:/home/tomcatdir/apache-tomcat-10.1.13/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

tomcat 解压包 bin 目录下 startup.sh
在这里插入图片描述
启动完成:访问 IP + port 端口号(默认端口是:8080 若延迟则需要防火墙放通)

例如配置端口号 8083 进行访问:TCP 8080 0.0.0.0/0

在这里插入图片描述

Tomcat 配置文件

Tomcat 的主要配置文件为 server.xml。该文件位于 Tomcat 的安装目录下的 conf 文件夹中。在该文件中,可以配置 Tomcat 服务器的各种参数和属性。

在这里插入图片描述

常见的 Tomcat 配置项:

Connector:用于定义 Tomcat 接受客户端请求的网络连接器。可以配置监听的端口号、协议类型(HTTP/HTTPS/AJP 等)以及其他相关参数。
Host:用于定义虚拟主机,即在同一个 Tomcat 实例中运行多个独立的网站或应用程序。
Context:用于定义 Web 应用程序的上下文路径、部署位置、会话管理等配置。
Valve:用于定义请求处理的过滤器,可以对请求进行统计、日志记录、安全验证等操作。
Realm:用于定义身份验证和授权的规则。
Resource:用于配置数据库连接池、JNDI 数据源等资源。

server.xml 详解

server.xml 是 tomcat 服务器的核心配置文件,包含了Tomcat的 Servlet 容器(Catalina)的所有配置。

Server 是 server.xml 的根元素,用于创建一个 Server 实例,默认使用的实现类是 org.apache.catalina.core.StandardServer

<Server port="8005" shutdown="SHUTDOWN">
...
</Server>

标签属性和子元素:

  • port:Tomcat 监听的关闭服务器的端口
  • shutdown:关闭服务器的指令字符串
  • Server 内嵌子元素:Listener、GlobalNamingResources、Service

设置 Tomcat 端口号

设置 Tomcat 的端口号

打开 Tomcat 的安装目录,找到conf文件夹。在 conf 文件夹中,找到 server.xml 文件。使用文本编辑器打开 server.xml 文件。在文件中找到类似于 <Connector> 标签的内容,该标签用于配置 Tomcat 的连接器。 通常,会有多个 Connector 标签,每个标签对应一个端口号。找到你想要修改的端口号所在的 Connector 标签。 默认情况下,HTTP连接器的端口号为 8080HTTPS 连接器的端口号为8443。在该Connector标签中,找到类似于 port="8080" 的属性,将其修改为你想要的新端口号。保存并关闭 server.xml 文件。重新启动 Tomcat 服务器,使修改生效。

请注意,修改端口号可能会导致与其他应用程序的冲突,特别是常用端口(如80和443)。确保所选端口号未被其他程序使用,并确保防火墙和网络配置允许该端口号的流量通过。

Springboot 创建 war

通过 IDEA 初始化创建项目(注意选择打包方式 War 模式)

在这里插入图片描述

War 项目和 Jar 项目有不同(War 项目 特别包含 SerletInitializer.class)

在这里插入图片描述
随便编写下测试的接口,进行 Package 打包生成 War 包

在这里插入图片描述
把 war 包项目放到云服务器 Tomcat 目录 webapps 目录下(启动 tomcat 会自动解压)

运行测试

在这里插入图片描述

相关文章:

Linux 操作系统云服务器安装部署 Tomcat 服务器详细教程

Tomcat 基本概述 Tomcat 服务器是Apache软件基金会&#xff08;Apache Software Foundation&#xff09;的 Jakarta 项目中的一个核心项目&#xff0c;由 Apache、Sun 和其他一些公司及个人共同开发而成。它是一个免费的开放源代码的 Web 应用服务器&#xff0c;属于轻量级应用…...

【易盾点选】

拿官网的点选做个例子吧&#xff0c;比较省事&#xff0c;水一篇~ ​ 官网的接口目前都改成V3了&#xff0c;多了个dt参数&#xff0c;以及加密的一个函数也变动了下 点选坐标在这&#xff0c;加密函数未变&#xff0c;用逗号拼接 整个加密里的函数变了&#xff0c;直接重新…...

vue中打印指定dom元素

和window.print()效果一样&#xff0c;调出打印窗口&#xff0c;只是当前使用的插件是vue-print-nb 官网地址&#xff1a;vue-print-nb vue2中使用 安装插件 npm install vue-print-nb --save导入插件 import Print from vue-print-nb // 全局使用 Vue.use(Print);//or// 单…...

OpenCV(三十六):霍夫直线检测

1.检测直线的霍夫变换原理 2.检测直线函数HoughLines() 检测直线流程: Step1:将参数空间的坐标轴离散化。 Step2:将图像中每个非0像素通过映射关系求取在参数空间通过的方格 Step3:统计参数空间内每个方格出现的次数&#xff0c;选取次数大于某一值的方格作为表示直线的方格…...

文心一言 VS 讯飞星火 VS chatgpt (91)-- 算法导论8.3 4题

四、用go语言&#xff0c;说明如何在 O(n) 时间内&#xff0c;对 0 到 n 3 − 1 n^3-1 n3−1 区间内的n个整数进行排序。 文心一言&#xff1a; 在 O(n) 时间内对 0 到 n^3-1 区间内的 n 个整数进行排序&#xff0c;可以使用基数排序&#xff08;Radix Sort&#xff09;算法…...

keep-alive缓存三级及三级以上路由

需求需要缓存这个出入记录&#xff0c;当tab切换时不重新加载&#xff0c;当刷新页面时&#xff0c;或把这个关闭在重新打开时重新加载如图&#xff1a; &#xff08;我这里用的是芋道源码的前端框架) keep-alive 1、include 包含页面组件name的这些组件页面&#xff0c;会被…...

vite vue项目 运行时 \esbuild\esbuild.exe 缺失 错误码 errno: -4058, code: ‘ENOENT‘,

vite vue项目运行 npm run dev 报错某个模块启动文件丢失信息 D:\PengYe_code\2\vite-vue3-admin>npm run dev> vite-vue3-admin1.0.2 dev > vitenode:events:504throw er; // Unhandled error event^Error: spawn D:\PengYe_code\2\vite-vue3-admin\node_modules\vi…...

favicon.ico网站图标不显示问题 Failed to load resource: net::ERR_FILE_NOT_FOU

上述问题主要由于网站的小图标无法显示导致的&#xff1a;可以检查如下部分&#xff1a; 1、是否存在一个favicon.ico文件在根目录下 2、如果存在&#xff0c;看是否写的相对路径&#xff1a;改为绝对路径 <link rel"shortcut icon" href"../favicon.ico&quo…...

微服务·架构组件之服务注册与发现-Nacos

微服务组件架构之服务注册与发现之Nacos Nacos服务注册与发现流程 服务注册&#xff1a;Nacos 客户端会通过发送REST请求的方式向Nacos Server注册自己的服务&#xff0c;提供自身的元数据&#xff0c;比如ip地址、端口等信息。 Nacos Server接收到注册请求后&#xff0c;就会…...

Linux驱动【day2】

mychrdev.c: #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include<linux/uaccess.h> #include<linux/io.h> #include"head.h" unsigned int major; // 保存主设备号 char kbuf[128]{0}; unsigned int…...

4、Nginx 配置实例-反向代理

文章目录 4、nginx 配置实例-反向代理4.1 反向代理实例一4.1.1 实验代码 4.3 反向代理实例二4.3.1 实验代码 【尚硅谷】尚硅谷Nginx教程由浅入深 志不强者智不达&#xff1b;言不信者行不果。 4、nginx 配置实例-反向代理 4.1 反向代理实例一 实现效果&#xff1a;使用 nginx…...

2023年世界机器人大会回顾

1、前记&#xff1a; 本次记录是我自己去世界机器人博览会参观的一些感受&#xff0c;所有回顾为个人感兴趣部分的机器人产品分享。整个参观下来最大的感受就是科学技术、特别是机器人技术和人工智能毫无疑问地、广泛的应用在我们日常生活的方方面面&#xff0c;在安全巡检、特…...

Mac系统 AndroidStudio Missing essential plugin:org.jetbrains.android报错

打开Android Studio,提示 Missing essential plugin:org.jetbrains.android错误&#xff0c;产生的原因是Kotlin被禁用。 解决的方法是删除disabled_plugins.txt&#xff0c;Mac OS对应的路径为&#xff1a; /Users/xzh/Library/Application Support/Google/AndroidStudio202…...

读书笔记:多Transformer的双向编码器表示法(Bert)-1

多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers&#xff0c;即Bert&#xff1b; 本笔记主要是对谷歌Bert架构的入门学习&#xff1a; 介绍Transformer架构&#xff0c;理解编码器和解码器的工作原理&#xff1b;掌握Bert模型架构…...

第二证券:股利支付率和留存收益率的关系?

股利付出率和留存收益率是股票出资中非常重要的目标&#xff0c;它们可以反映公司的盈余才能和未来开展的潜力。那么&#xff0c;二者之间究竟有什么联系呢&#xff1f; 一、股利付出率和留存收益率的定义 股利付出率是指公司向股东分配的股息占当期净利润的比例&#xff0c;通…...

煤矿虚拟仿真 | 采煤工人VR虚拟现实培训系统

随着科技的发展&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个行业&#xff0c;其中包括煤矿行业。VR技术可以为煤矿工人提供一个安全、真实的环境&#xff0c;让他们在虚拟环境中进行实际操作和培训&#xff0c;从而提高他们的技能水平和安全意识。 由广州华锐互动开发的采煤…...

buuctf crypto 【[GXYCTF2019]CheckIn】解题记录

1.打开文件&#xff0c;发现密文 2.一眼base64&#xff0c;解密一下 3.解密后的字符串没有什么规律&#xff0c;看了看大佬的wp&#xff0c;是rot47加密&#xff0c;解密一下&#xff08;ROT5、ROT13、ROT18、ROT47位移编码&#xff09;...

微服务05-Docker基本操作

Docker的定义 1.什么是Docker Docker是一个快速交付应用、运行应用的技术&#xff1a; 可以将程序及其依赖、运行环境一起打包为一个镜像&#xff0c;可以迁移到任意Linux操作系统运行时利用沙箱机制形成隔离容器&#xff0c;各个应用互不干扰启动、移除都可以通过一行命令完…...

OpenHarmony创新赛|赋能直播第三期

开放原子开源大赛OpenHarmony创新赛赋能直播间持续邀请众多技术专家一起分享应用开发技术知识&#xff0c;本期推出OpenHarmony应用开发之音视频播放器和三方库的使用和方法&#xff0c;助力开发者掌握多媒体应用技术的开发能力和使用三方库提升应用开发的效率和质量&#xff0…...

docker镜像详解

目录 什么是docker镜像镜像相关命令docker pulldocker imagesdocker searchdocker rmi导出 / 导入镜像 镜像分层镜像摘要镜像摘要的作用分发散列值 什么是docker镜像 Docker镜像是Docker容器的基础组件&#xff0c;它包含了运行一个应用程序所需的一切&#xff0c;包括代码、运…...

零基础玩转Ostrakon-VL-8B:餐饮零售AI视觉助手部署与使用

零基础玩转Ostrakon-VL-8B&#xff1a;餐饮零售AI视觉助手部署与使用 1. 为什么选择Ostrakon-VL-8B&#xff1f; 在餐饮零售行业&#xff0c;每天都有大量视觉数据需要处理&#xff1a;货架商品、门店环境、价格标签等。传统的人工检查方式效率低、成本高且容易出错。Ostrako…...

Kook Zimage真实幻想Turbo快速调试:找到属于你的幻想风格黄金参数组合

Kook Zimage真实幻想Turbo快速调试&#xff1a;找到属于你的幻想风格黄金参数组合 1. 认识Kook Zimage真实幻想Turbo Kook Zimage真实幻想Turbo是一款专为个人GPU设计的轻量化幻想风格图像生成系统。它基于Z-Image-Turbo极速文生图底座&#xff0c;通过独特的权重融合技术&am…...

WikiJS全文搜索实战:用ElasticSearch+IK分词器提升内容检索效率(Docker版)

WikiJS全文搜索实战&#xff1a;ElasticSearch与IK分词器的深度优化指南 引言&#xff1a;为什么需要专业级全文搜索解决方案&#xff1f; 想象一下&#xff0c;当你面对一个包含数千篇技术文档的Wiki系统时&#xff0c;传统的关键词匹配就像在黑暗房间里寻找一根针。WikiJS自带…...

南北阁4.1-3B WebUI代码实例:TextIteratorStreamer多线程流式实现解析

南北阁4.1-3B WebUI代码实例&#xff1a;TextIteratorStreamer多线程流式实现解析 今天咱们来聊聊一个特别有意思的项目——一个为南北阁4.1-3B模型量身定做的Web交互界面。如果你用过Streamlit&#xff0c;可能会觉得它的界面有点“官方”&#xff0c;布局也比较固定。但这个…...

第三次作业:django做动态(个人主页)

...

OpenClaw+GLM-4.7-Flash:24小时运行的智能监控助手

OpenClawGLM-4.7-Flash&#xff1a;24小时运行的智能监控助手 1. 为什么需要智能监控助手&#xff1f; 去年我负责维护一个内部文档站点时&#xff0c;经常遇到半夜服务崩溃却无人知晓的情况。直到第二天同事反馈"页面打不开"&#xff0c;我才手忙脚乱地查日志、重…...

【ArkTS】编程规范

ArkTS 是 HarmonyOS 应用的默认开发语言,在 TypeScript(简称 TS)生态基础上做了扩展,保持 TS 的基本风格。通过规范定义,从而强化了开发期的静态检查和分析,提升了程序执行的稳定性和性能。 一、术语与定义 术语 缩略语 中文解释 ArkTS 无 ArkTS编程语言 TypeScript TS …...

SystemVerilog进阶:深入探索随机化约束的高级应用

1. 从基础到进阶&#xff1a;SystemVerilog随机化约束的核心价值 在芯片验证领域&#xff0c;随机化验证已经成为提高验证效率的黄金标准。SystemVerilog的随机化约束机制&#xff0c;就像给验证工程师配备了一个智能数据生成器&#xff0c;可以自动产生符合设计规范的测试场景…...

量子行走:从理论到Python实现——量子力学原理与Qubit物理

目录 2. 量子力学原理与Qubit物理 2.1 量子比特的物理实现 2.1.1 双能级系统建模 2.1.2 布洛赫球表示与可视化 2.2 叠加与纠缠现象 2.2.1 量子叠加原理 2.2.2 量子纠缠理论 2.3 量子测量与退相干 2.3.1 测量公设的实现 2.3.2 噪声与退相干机制 2. 量子力学原理与Qubi…...

从零到一:基于GitHub Pages与Jekyll搭建你的专属学术主页

1. 为什么选择GitHub Pages Jekyll搭建学术主页&#xff1f; 作为一个长期在学术界摸爬滚打的老兵&#xff0c;我见过太多同行花大价钱购买服务器和维护网站&#xff0c;结果最后因为各种技术问题半途而废。直到我发现GitHub Pages和Jekyll这对黄金组合&#xff0c;才真正找到…...