RedHat9 | Tomcat服务器部署

news2024/9/23 6:32:35

一、相关知识

Tomcat介绍

Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages (JSP)、Java Expression Language (JEL) 以及 Java WebSocket 技术的容器。作为轻量级的 Java 应用服务器,Tomcat 因其易于配置、灵活性和广泛的使用社区而广受欢迎。Tomcat 主要用于开发和调试 JSP/Servlet 应用程序,但也可以作为生产环境中的服务器使用,尽管对于高负载的生产环境,可以选择更强大的应用服务器如 JBoss、WebLogic 或 WebSphere。

Tomcat的主要特点

  1. 开源和免费:Tomcat 是基于 Apache 许可证发布的,这意味着它是完全免费和开源的,任何人都可以下载、使用和修改其源代码。
  2. 轻量级:相对于其他 Java 应用服务器,Tomcat 的内存占用较小,启动速度快,非常适合用于开发和测试环境。
  3. Servlet 容器:Tomcat 实现了 Servlet 和 JSP 规范,使得 Java 开发者能够编写出基于这些规范的动态 Web 应用程序。
  4. 模块化:Tomcat 的架构是模块化的,允许开发者根据需要添加或移除组件,如连接池、安全模块等。
  5. 易于配置:Tomcat 的配置文件(如 server.xmlweb.xml 等)相对简单易懂,易于配置。
  6. 强大的管理工具:Tomcat 提供了丰富的管理界面和工具(如 Tomcat Manager 应用),帮助管理员管理应用、用户、角色和会话等。
  7. 支持集群和负载均衡:通过配置,Tomcat 可以支持应用集群和负载均衡,以提高系统的可用性和性能。
  8. 社区支持:由于 Tomcat 是开源项目,它拥有一个活跃的开发者社区,可以提供丰富的文档、教程和支持。

Tomcat的使用场景

  • 开发环境:Tomcat 是 Java Web 开发者常用的开发服务器,用于测试 JSP/Servlet 应用程序。
  • 测试环境:在测试阶段,Tomcat 可以用来部署应用程序并测试其性能和稳定性。
  • 生产环境:对于小到中型项目,Tomcat 也可以作为生产环境的应用服务器。然而,对于需要处理大量并发请求的大型项目,可能需要更强大的应用服务器。

Java Servlet

Servlet(Server Applet)是Java Servlet的简称,是JavaEE规范中的技术之一,也是Java开发中最重要的动态资源之一。Servlet是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

定义和特点

  • 定义:Servlet是运行在web容器(服务器)中的一个小的Java程序,能够接收来自客户端的基于HTTP协议的请求,并且对请求进行响应。
  • 特点
    • Servlet是Java编写的,因此具有Java的所有优点,如跨平台性、安全性等。
    • Servlet运行于支持Java的应用服务器中,如Tomcat、Jetty等。
    • Servlet可以响应任何类型的请求,但绝大多数情况下用于扩展基于HTTP协议的Web服务器。
    • Servlet的执行效率高于传统的CGI程序,因为它通过多线程方式处理请求,减少了系统开销。

应用场景

Servlet广泛应用于Web开发中,用于处理客户端的请求并生成响应。它可以用于实现各种Web应用功能,如用户登录、数据查询、文件上传下载等。此外,Servlet还可以与其他Java技术(如JSP、JDBC等)结合使用,以实现更复杂的Web应用。

与Tomcat的关联

Tomcat是一个开源的、轻量级的Web应用服务器,同时也是一个Servlet容器。Servlet容器是Web服务器的一个扩展,用于支持Servlet的部署和执行。Tomcat的主要功能之一就是管理和执行Servlet。具体来说,Tomcat为Servlet提供了一个运行环境,使得Servlet可以在其中执行。

Tomcat和Servlet的交互过程

  • 请求接收与解析:当客户端(如浏览器)发送HTTP请求到Tomcat服务器时,Tomcat首先接收并解析这个请求。
  • 请求传递:解析后的请求被封装成HttpServletRequest对象,并传递给相应的Servlet进行处理。
  • Servlet处理:Servlet通过HttpServletRequest对象获取请求信息,执行相应的业务逻辑,并生成响应内容。
  • 响应发送:Servlet将生成的响应内容封装成HttpServletResponse对象,并通过Tomcat服务器发送给客户端。

二、配置步骤

网络参数

标识Tomcat-Server
主机名TomcatServer
网络信息192.168.37.14/24
主要操作用户root

Tomcat和JDK版本的兼容性

Tomcat版本JDK版本
Tomcat7JDK1.6 、JDK1.7、JDK.1.8
Tomcat8JDK1.7、JDK1.8
Tomcat9JDK1.8以上
Tomcat10JDK11以上
Tomcat11JDK11以上

访问Tomcat官网下载安装包

Apache Tomcat® - Apache Tomcat 10 Software Downloads

修改主机名

[root@localhost ~]# hostnamectl hostname TomcatServer
[root@localhost ~]# bash

修改网络信息

[root@TomcatServer ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.37.14/24 ipv4.gateway 192.168.37.254
[root@TomcatServer ~]# nmcli connection up ens160

验证:查看网络信息

[root@TomcatServer ~]# ip add show ens160

在这里插入图片描述

1、配置软件仓库

这里我们拥有一个本地的YUM源服务器,通过FTP共享,所以仓库地址指向YUM源服务器

首先删除原有的仓库文件

[root@TomcatServer ~]# rm -rf /etc/yum.repos.d/*

新建仓库文件

[root@TomcatServer ~]# vim /etc/yum.repos.d/dvd.repo

# 写入以下内容
[BaseOS]
name=BaseOS
baseurl=ftp://192.168.37.1/yum/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=ftp://192.168.37.1/yum/AppStream
enabled=1
gpgcheck=0

清理DNF的缓存目录,重新生成缓存

[root@TomcatServer ~]# dnf clean all;dnf makecache

在这里插入图片描述

2、配置JDK

Step1:安装openjdk11,我们使用的Tomcat版本是10.1.25,所以选择JDK11

[root@TomcatServer ~]# dnf install -y java-11-openjdk.x86_64

Step2:先查找java安装的位置

[root@TomcatServer ~]# rpm -ql java-11-openjdk

在这里插入图片描述

Step3:编辑环境变量

[root@TomcatServer ~]# vim /etc/profile

# 追加下列内容
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-2.el9_1.x86_64
export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述

Step4:使配置生效

[root@TomcatServer ~]# source /etc/profile

Step5:验证:执行java -version

[root@TomcatServer ~]# java -version

在这里插入图片描述

3、安装Tomcat

Step1:将Tomcat安装包上传
在这里插入图片描述

Step2:将压缩包解压至/usr/local目录下

[root@TomcatServer ~]# tar -xf apache-tomcat-10.1.25.tar.gz -C /usr/local/

Step3:进入解压目录下的bin目录,启动Tomcat

[root@TomcatServer ~]# cd /usr/local/apache-tomcat-10.1.25/bin/
[root@TomcatServer bin]# ./startup.sh

在这里插入图片描述

Step4:查看Tomcat是否存在监听端口,调整防火墙规则,放行对应的端口号

[root@TomcatServer ~]# netstat -tulnp | grep java
[root@TomcatServer ~]# firewall-cmd --add-port=8080/tcp --permanent
[root@TomcatServer ~]# firewall-cmd --add-port=8005/tcp --permanent
f[root@TomcatServer ~]# firewall-cmd --reload

Step5:通过主机访问Tomcat的默认网页
在这里插入图片描述

4、自定义默认网站

Tomcat的默认发布目录可以在我们的Tomcat解压目录下找到【webapps】

Step1:在webapps目录下新建发布目录

[root@TomcatServer ~]# mkdri /usr/local/apache-tomcat-10.1.25/webapps/jsp/

Step2:编写JSP网页文件

[root@TomcatServer ~]# vim /usr/local/apache-tomcat-10.1.25/webapps/jsp/index.jsp

网页内容如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>  
<html>  
<head>  
    <title>This is JSP HTML</title>  
</head>  
<body>  
    <%  
        out.println("The webpage owner is from Meaauf.");  
    %>  
</body>  
</html>

在这里插入图片描述

Step4:重启Tomcat

[root@TomcatServer ~]# /usr/local/apache-tomcat-10.1.25/bin/shutdown.sh
[root@TomcatServer ~]# /usr/local/apache-tomcat-10.1.25/bin/startup.sh

在这里插入图片描述

Step5:通过主机测试访网站
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8改进 | 融合改进 | C2f结合可变形大核注意力超越自注意力【含Seg、OBB、OD代码】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

Linux进程间通信(管道,命名管道/FIFO,消息队列)

目录 前言 一、管道 二、命名管道/FIFO 三、消息队列 前言 前面我们学习了Linux进程编程的相关函数&#xff0c;也举了几个进程编程的实际应用场景&#xff1b;我们之前学到父进程等待子进程退出时也涉及到了一些进程间通信的概念&#xff0c;比如子进程调用exit函数&#…

AWS DMS MySQL为源端,如何在更改分区的时候避免报错

问题描述&#xff1a; 文档[1]中描述MySQL compatible Databases作为DMS任务的源端&#xff0c;不支持MySQL 分区表的 DDL 更改。 在源端MySQL进行分区添加时&#xff0c;日志里会出现如下报错&#xff1a; [SOURCE_CAPTURE ]W: Cannot change partition in table members…

2024年普通人怎么利用AI工具赚钱?

在当今这个信息爆炸的时代&#xff0c;AI技术的应用如同一股不可阻挡的潮流&#xff0c;为普通人开辟了全新的赚钱途径。以下是一些普通人就可以做的赚钱方法&#xff1a; 1、信息差模式 现在市场上AI应用工具很多&#xff0c;不是所有人都会对这些工具进行深入学习和测试&am…

网络访问(Socket/WebSocket/HTTP)

概述 HarmonyOS为用户提供了网络连接功能&#xff0c;具体由网络管理模块负责。通过该模块&#xff0c;用户可以进行Socket网络通滚、WebSocket连接、HTTP数据请求等网络通信服务。 Socket网络通信&#xff1a;通过Socket(嵌套字)进行数据通信&#xff0c;支持的协议包括UDP核…

iOS开发设计模式篇第一篇MVC设计模式

目录 1. 引言 2.概念 1.Model 1.职责 2.实现 3.和Controller通信 1.Contrller直接访问Model 2.通过委托(Delegate)模式 3.通知 4.KVO 4.设计的建议 2.View 1.职责 2.实现 3.和Controller通信 1. 目标-动作&#xff08;Target-Action&#xff09;模式 2…

matlab gui下的tcp client客户端编程框架

GUI界面 函数外定义全局变量 %全局变量 global TcpClient; %matlab作为tcpip客户端 建立连接 在“连接”按钮的回调函数下添加以下代码&#xff1a; global TcpClient;%全局变量 TcpClient tcpip(‘192.168.1.10’, 7, ‘NetworkRole’,‘client’); %连接到服务器地址和端…

免费【2024】springboot北京医疗企业固定资产管理系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

Springboot项目打包成镜像、使用docker-compose启动

Springboot项目打包成镜像、使用docker-compose启动 1、创建一个boot项目 1、添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…

Adobe Dimension(DN)安装包软件下载

目录 一、软件简介 二、软件下载 三、注意事项 四、软件功能 五、常用快捷键 快捷键&#xff1a; 一、软件简介 Adobe Dimension&#xff08;简称DN&#xff09;是Adobe公司推出的一款三维设计和渲染软件。与一般的3D绘图软件相比&#xff0c;DN在操作界面和功能上有所不…

预防大于治疗!夏季脑血管疾病高发,应该注意什么?

夏日炎炎&#xff0c;虽然气温攀升带来了一抹活力&#xff0c;却也悄悄增加了心脑血管疾病的风险。高温、高湿的环境易使人体血管扩张&#xff0c;心率加快&#xff0c;血液黏稠度上升&#xff0c;对于中老年人及已有心脑血管疾病史的人群而言&#xff0c;更是需要格外警惕。因…

项目实战--C#实现图书馆信息管理系统

本项目是要开发一个图书馆管理系统&#xff0c;通过这个系统处理常见的图书馆业务。这个系统主要功能是&#xff1a;&#xff08;1&#xff09;有客户端&#xff08;借阅者使用&#xff09;和管理端&#xff08;图书馆管理员和系统管理员使用&#xff09;。&#xff08;2&#…

Cxx Primer-chap6

什么是函数&#xff1a;A function is a block of code with a name.&#xff1a;函数调用和返回&#xff1a;&#xff0c;实例&#xff1a;名字有作用域(visible)&#xff0c;对象有生命周期(exist)&#xff1a; &#xff0c;lifetime取决于object在哪定义和如何定义&#xff…

算法题目整合4

文章目录 122. 大数减法123. 滑动窗口最大值117. 软件构建124. 小红的数组构造125. 精华帖子126. 连续子数组最大和 122. 大数减法 题目描述 以字符串的形式读入两个数字&#xff0c;编写一个函数计算它们的差&#xff0c;以字符串形式返回。输入描述 输入两个数字&#xff…

FPGA DNA 获取 DNA_PORT

FPGA DNA DNA 是 FPGA 芯片的唯一标识&#xff0c; FPGA 都有一个独特的 ID &#xff0c;也就是 Device DNA &#xff0c;这个 ID 相当于我们的身份证&#xff0c;在 FPGA 芯片生产的时候就已经固定在芯片的 eFuse 寄存器中&#xff0c;具有不可修改的属性。在 xilinx 7series…

Adobe国际认证详解-职业发展规划指南

Adobe国际认证&#xff0c;又称为Adobe Certified Professional&#xff08;简称ACP&#xff09;&#xff0c;是Adobe公司CEO签发的权威国际认证体系。这一认证体系基于Adobe核心技术及岗位实际应用操作能力的测评&#xff0c;旨在为用户提供创意软件的专业认证。 Adobe国际认证…

win11 安装 Gradle以及通过Gradle 编译Spring boot 2.7.x源码

一、win11 安装Gradle(7.5.1)&#xff1a; 1.1、下载二进制包 Gradle下载页面 1.2、配置环境变量 变量名&#xff1a;GRADLE_HOME 变量值&#xff08;二进制包解压路径&#xff09;&#xff1a;D:\develop-tool\gradle-7.5.1 变量名&#xff1a;GRADLE_USER_HOME 变量值&a…

知识表示 | 利用 Protégé 软件构建小型本体

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本项目旨在利用 Protg 软件构建小型本体&#xff0c;探索本体建模的实际应用&#xff0c;特别是应用本体与上层本体之间的关系继承与映射。我们将重点理解应用本体如何继承上层本体的关系&#xff0c;以及如何通过推理机制揭示实…

线性dp.

线性dp&#xff0c;在进行动态规划中&#xff0c;常以线性的形式表现出来。 我们仍用闫氏dp法来进行求解即可 一、状态表示&#xff1a;当前的状态所代表的含义以及能用几维的形式表现出来。包括①集合&#xff0c;②属性 二、状态计算&#xff1a;如何一步一步的将状态计算出…

Hostspot2.0网络是什么?

Hotspot 2.0是一种无线网络技术标准&#xff0c;它是由Wi-Fi联盟推出的&#xff0c;旨在改善公共Wi-Fi热点的用户体验&#xff0c;简化连接流程&#xff0c;提升安全性&#xff0c;并提供更好的漫游体验。Hotspot 2.0也被称为Passpoint&#xff08;Passpoint Release 2&#xf…