玩转Tomcat:从安装到部署

news/2024/4/29 14:55:29/文章来源:https://blog.csdn.net/qq_61635026/article/details/131964698

文章目录

  • 一、什么是 Tomcat
  • 二、Tomcat 的安装与使用
    • 2.1 下载安装
    • 2.2 目录结构
    • 2.3 启动 Tomcat
  • 三、部署程序到 Tomcat
    • 3.1 Windows环境
    • 3.2 Linux环境


一、什么是 Tomcat

一看到 Tomcat,我们一般会想到什么?没错,就是他,童年的回忆:

但实际上,在 Java 中的 Tomcat 却是它:

Tomcat 是一个开源的 Java Servlet 容器,由 Apache 软件基金会开发和维护。Tomcat 全称是 Apache Tomcat,它被广泛用于部署 Java Web 应用程序

简单来说,Tomcat 是一个 Web 服务器,用于处理 Java Servlet 的请求和响应。而 Servlet 是 Java 编写服务端的程序,用于处理客户端(通常是浏览器)发送的请求,并向客户端返回响应。

Tomcat 提供了一个运行环境,让开发者能够将自己编写的 Servlet 程序部署到服务器上,从而使 Web 应用程序能够在 Tomcat 服务器上运行。同时,Tomcat 支持 HTTP 协议,可以通过浏览器访问部署在 Tomcat 上的 Web 应用程序

更重要的一点就是,Tomcat 是免费并且开源的,因此受到了广泛的欢迎和使用。它在 Java Web 开发中扮演着重要的角色,为开发者提供了一个稳定可靠的运行环境。

二、Tomcat 的安装与使用

2.1 下载安装

Tomcat 官网下载地址:https://tomcat.apache.org/download-80.cgi。

这里我选择安装的版本是 Tomcat 8:

选择.zip类型的压缩包进行下载,然后解压放在一个全英文的文件路径下即可。(没错,安装就是这么简单!)

另外值得一提的是,Tomcat 的安装在 Windows 和 Linux 系统下的安装方法基本一样,即下载压缩包,然后解压即可。

2.2 目录结构

解压完成后,可以看到 Tomcat 的目录结构如下:

对 Tomcat 目录结构的简要说明:

  1. bin:包含可执行脚本和命令,用于启动和停止 Tomcat 服务器。其中最常见的文件是 startup.sh(或 startup.bat,Windows 下)用于启动 Tomcat,以及shutdown.sh(或 shutdown,Windows 下)用于停止 Tomcat。
  2. conf:包含了 Tomcat 的配置文件,这些配置文件用于配置 Tomcat 服务器的各种参数和属性。其中最重要的是 server.xml,它包含了 Tomcat 主要的配置,如端口号、连机器配置、虚拟主机等。
  3. lib:包含了 Tomcat 服务器运行时需要的 Java 类库。这些类库包括 Tomcat 自身的类库,以及用于支持 Servlet 和 JSP(JavaServer Pages)的相关类库。
  4. logs:包含了 Tomcat 服务器的日志文件,如访问日志、错误日志等。
  5. webapps:用于部署 Web 应用程序的目录。将 Java Web 程序打包成 WAR 文件(Web 应用归档文件),然后将 WAR 文件放在这个目录下,Tomcat 会自动将其部署并运行。
  6. work:包含了 Tomcat 在运行时生成的临时工作文件。这些文件用于储存 JSP 页面的编译结果以及其他临时数据。
  7. temp:包含了 Tomcat 的临时文件。它主要用于存储上传文件时的临时数据,以及一些其他的临时文件。

lib目录结构:

webapps目录结构:

2.3 启动 Tomcat

在 Linux 环境中,执行 bin 目录下的 startup.sh 启动 Tomcat:

可以使用命令 netstat -anp | grep 端口号查看 Tomcat 是否成功启动:

关于 Tomcat 使用的端口号说明:

在Tomcat服务器中,8080端口和8005端口是两个常见的默认端口,其用途分别如下:

  1. 8080端口:默认情况下,Tomcat 使用8080端口作为 HTTP 连接器(HTTP Connector)的默认端口。HTTP 连接器负责处理 HTTP 请求,允许用户通过 HTTP 协议访问部署在 Tomcat 上的 Web 应用程序。例如,当在浏览器中输入"http://127.0.0.1:8080/"(Tomcat 已在本地运行),就会看到 Tomcat 的默认欢迎页面或已部署的Web应用程序。
  2. 8005端口:8005端口是 Tomcat 服务器的 “Shutdown Port” (关闭端口)。它用于接收来自管理工具或者脚本的关闭命令,以优雅的方式来关闭 Tomcat 服务器。通过发送一个关闭命令到8005端口,Tomcat 将停止接受新的 HTTP 请求,并在当前的请求处理完成后正常关闭,确保未完成的请求能够顺利处理完毕

在 Windows 系统下,可以通过双击 bin 目录下的 startup.bat 文件来启动 Tomcat 服务器:

当命令行出现的最后一条消息如下,表明启动 Tomcat 成功:

出现乱码的原因:

  • Tomcat 默认按照 UTF-8 的编码方式处理中文,而 Windows 的 cmd 默认是 GBK 编码,所有会出现乱码的情况。
  • 如果使用 Linux 或者 IDEA 中的终端来启动 Tomcat,则没有乱码问题。
  • 此处,Windows上出现的乱码不建议处理,因为涉及到修改cmd编码规则的问题。(大概率,Tomcat 也不值得在 Windows 上面运行)

另外最重要的一件事情是,如果想要运行 Tomcat 服务器,首先保证系统上已经安装好了 JDK,并正确的配置了环境变量。

三、部署程序到 Tomcat

这里以我的一个博客系统为例,分别将其打包部署到 Windows 和 Linux 环境下的 Tomcat 服务器。

3.1 Windows环境

将博客系统打包成 WAR 形式的文件:

然后将其复制到 Tomcat 的 webapps 目录下,然后启动 Tomcat 服务器:

此时,Tomcat 会自动将 WAR 包文件进行解压,此时就部署完成了,就可以通过浏览器来访问该程序:

3.2 Linux环境

将程序部署在 Linux 环境中的操作和在 Windows 一模一样,只需要将刚才哪个 WAR 包拷贝到 Tomcat 的 webapps 目录下即可:

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

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

相关文章

操作系统攻击:早期WindowsMS10-046漏洞

目录 概述 漏洞成因 利用过程 漏洞复现 漏洞修复 概述 本次介绍早期的windows高危漏洞——MS10_046_SHORTCUT_ICON_DLLLOADER , 该漏洞可以通过浏览器跳转网络资源的方式利用,结合xss攻击用户的系统 危险性极高。 漏洞成因 漏洞成因: m…

17-C++ 数据结构 - 栈

📖 1.1 什么是栈 栈是一种线性数据结构,具有后进先出(Last-In-First-Out,LIFO)的特点。可以类比为装满盘子的餐桌,每次放盘子都放在最上面,取盘子时也从最上面取,因此最后放进去的盘…

maven引入本地jar包的简单方式【IDEA】【SpringBoot】

前言 想必点进来看这篇文章的各位,都是已经习惯了Maven从中央仓库或者阿里仓库直接拉取jar包进行使用。我也是🤡🤡。 前两天遇到一个工作场景,对接三方平台,结果对方就是提供的一个jar包下载链接,可给我整…

RustDesk 1.2 现已发布

RustDesk 1.2 现已发布,此版本采用 Flutter 重写桌面版本,支持 Wayland 被控。 一些值得关注的变化有: 用 Flutter 重写支持 ipv6(Beta)增加一次性密码QuickSupport (Beta)硬件编解码器 H264 /…

51单片机——串行口通信

目录 1、51单片机串口通信介绍 2、串行口相关寄存器 2.1 、串行口控制寄存器SCON和PCON 2.1.1 SCON:串行控制寄存器 (可位寻址) 2.1.2 PCON:电源控制寄存器(不可位寻址) 2.2、串行口数据缓冲寄存器SBUF 2.3、从机地址控制…

关于element ui 安装失败的问题解决方法、查看是否安装成功及如何引入

Vue2引入 执行npm i element-ui -S报错 原因:npm版本太高 报错信息: 解决办法: 使用命令: npm install --legacy-peer-deps element-ui --save 引入: 在main.js文件中引入 //引入Vue import Vue from vue; //引入…

ubuntu23.04 flush DNS caches

如何在Ubuntu 23.04中刷新DNS缓存 现在,如果你运行的是Ubuntu 23.04,"系统解决 "的方法将不再适用于你。让我们检查一下你目前的缓存大小。打开你的Ubuntu终端,运行以下command: resolvectl statistics现在&#xff0c…

Android Unit Test

一、测试基础知识 1.1 测试级别 测试金字塔(如图 2 所示)说明了应用应如何包含三类测试(即小型、中型和大型测试): 小型测试是指单元测试,用于验证应用的行为,一次验证一个类。 中型测试是指…

Spring Cloud Alibaba - Nacos源码分析(三)

目录 一、Nacos客户端服务订阅的事件机制 1、监听事件的注册 2、ServiceInfo处理 serviceInfoHolder.processServiceInfo 一、Nacos客户端服务订阅的事件机制 Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表&…

内网隧道代理技术(十四)之 Earthworm的使用(一级代理)

Earthworm的使用(一级代理) ew 全称是EarchWorm,是一套轻量便携且功能强大的网络穿透工具,基于标准C开发,具有socks5代理、端口转发和端口映射三大功能,可在复杂网络环境下完成网络穿透,且支持全平台(Windows/Linux/Mac)。该工具能够以“正向”、“反向”、“多级级联”…

51单片机双机通信

对于这个51单片机双机通信,之前无聊做的玩的,但是既然写了一篇51单片机串行口通信的博客,那就顺便出来供大家学习,希望能够帮助到一些刚刚接触51单片机的朋友。废话不多讲,直接上正题。 1、实习任务 1.1 任务目的 通…

oCPC实践录 | oCPC下机制设计变得毫无意义?(2)无声的战争

接上回oCPC实践录 | oCPC下机制设计变得毫无意义?(1)事出异常必有妖,互联网广告最开始采用的广义第一价格密封拍卖(GFP),对广告主而言,需要不断感知竞争对手的变化,修改报价&#xf…

Power BI-网关设置与云端报表定时刷新(一)

网关的工作原理 网关是将本地数据传输至云端的桥梁,不仅Power BI能使用,其他微软软件也能够使用。 我们发布在云上的报表,发布后是静态的,不会自动刷新。需要通过网关设置定时刷新。 安装与设置 1.登录到Powerbi 在线服务–设置…

组合模式——树形结构的处理

1、简介 1.1、概述 树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等。如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题。组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形…

Windows下Nginx安装与配置教程

一、前言 1、Nginx是什么? Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。 Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器…

Windows 11 下 OpenFace 2.2.0 的安装

写在前面 最近需要做关于面部的东西,所以需要使用到OpenFace这个工具,本文仅用来记录本人安装过程以供后续复现,如果可以帮助到读者也是非常荣幸。 安装过程 不编译直接使用 这种方法可以直接从官方下载下来编译好的exe以及gui进行使用&a…

移动端适配rem

1.安装amfe-flexible和postcss-pxtorem, npm install amfe-flexible --save npm install postcss-pxtorem5.1.1 (这里我使用的postcss-pxtorem是5.1.1版本)或者在pageage.json中写入 "amfe-flexible": "^2.2.1","postcss-pxtorem": …

一个 SpringBoot 项目能处理多少请求

首先,这个问题有坑,因为 spring boot 不处理请求,只是把现有的开源组件打包后进行了版本适配、预定义了一些开源组件的配置通过代码的方式进行自动装配进行简化开发。这是 spring boot 的价值。 如果我是面试官,我不会问这种问题。…

带wiringPi库的交叉编译 ---宿主机x86Ubuntu,目标机ARMv8 aarch64(香橙派)

带wiringPi库的交叉编译如何进行 先交叉编译wiringPi库,编译出的库适合香橙派,这时候交叉编译可执行程序的平台和链接库的格式也是正确的,然后通过-I和-L来指定链接的wiringPi库的头文件和库的位置,但是现在还没有学习过&#xf…