Tomcat-安装部署(源码包安装)

一、简介

Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。

即让用户开发的WEB应用程序,变成可以被访问的网页。

二、安装

Tomcat的安装非常简单,主要分为2部分:

  1. 安装JDK环境

  2. 解压并安装Tomcat

本次安装使用Tomcat版本是:10.0.27版本,需要Java(JDK)版本最低为JDK8或更高版本

课程中使用的JDK版本是:JDK8u351版本

1、安装JDK环境

① 下载JDK软件

https://www.oracle.com/java/technologies/downloads

在页面下方找到:

在弹出的页面中输入Oracle的账户密码即可下载(如无账户,请自行注册,注册是免费的)

② 登陆Linux系统,切换到root用户

③ 通过FinalShell,上传下载好的JDK安装包

④ 创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内
mkdir -p /export/server
⑤ 解压缩JDK安装文件
tar -zxvf jdk-8u351-linux-x64.tar.gz -C /export/server
⑥ 配置JDK的软链接
ln -s /export/server/jdk1.8.0_351 /export/server/jdk
⑦ 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中
# 编辑/etc/profile文件
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin
⑧ 生效环境变量
source /etc/profile
⑨ 配置java执行程序的软链接
# 删除系统自带的java程序
rm -f /usr/bin/java
# 软链接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java
⑩ 执行验证:
java -version
javac -version

2、解压部署Tomact 

Tomcat建议使用非Root用户安装并启动

可以创建一个用户:tomcat用以部署

① 首先,放行tomcat需要使用的8080端口的外部访问权限

CentOS系统默认开启了防火墙,阻止外部网络流量访问系统内部

所以,如果想要Tomcat可以正常使用,需要对Tomcat默认使用的8080端口进行放行

放行有2种操作方式:

  1. 关闭防火墙

  2. 配置防火墙规则,放行端口

# 以下操作2选一即可
# 方式1:关闭防火墙
systemctl stop firewalld		# 关闭防火墙
systemctl disable firewalld		# 停止防火墙开机自启# 方式2:放行8080端口的外部访问
firewall-cmd --add-port=8080/tcp --permanent		# --add-port=8080/tcp表示放行8080端口的tcp访问,--permanent表示永久生效
firewall-cmd --reload								# 重新载入防火墙规则使其生效

方便起见,建议同学们选择方式1,直接关闭防火墙一劳永逸

防火墙的配置非常复杂,后面会视情况独立出一集防火墙配置规则的章节。

② 以root用户操作,创建tomcat用户
# 使用root用户操作
useradd tomcat
# 可选,为tomcat用户配置密码
passwd tomcat
③ 下载Tomcat安装包
# 使用root用户操作
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
# 如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz

如果Linux内下载过慢,可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内即可

或者使用课程资料中提供的安装包

④ 解压Tomcat安装包
# 使用root用户操作,否则无权限解压到/export/server内,除非修改此文件夹权限
tar -zxvf apache-tomcat-10.0.27.tar.gz -C /export/server
⑤ 创建Tomcat软链接
# 使用root用户操作
ln -s /export/server/apache-tomcat-10.0.27 /export/server/tomcat
⑥ 修改tomcat安装目录权限
# 使用root用户操作,同时对软链接和tomcat安装文件夹进行修改,使用通配符*进行匹配
chown -R tomcat:tomcat /export/server/*tomcat*
⑦ 切换到tomcat用户
su - tomcat
⑧ 启动tomcat
/export/server/tomcat/bin/startup.sh
⑨ tomcat启动在8080端口,可以检查是否正常启动成功
netstat -anp | grep 8080

⑩ 打开浏览器,输入

http://centos:8080或http://192.168.88.130:8080

使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面

至此,Tomcat安装配置完成。

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

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

相关文章

【MySQL学习之基础篇】约束

文章目录 1. 概述2. 基础约束3. 外键约束3.1. 介绍3.2. 外键的添加3.3. 外键删除和更新行为 1. 概述 概念: 约束是作用于表中字段上的规则,用于限制存储在表中的数据。     目的: 保证数据库中数据的正确、有效性和完整性。 分类&#x…

BearPi Std 板从入门到放弃 - 先天神魂篇(7)(RT-Thread 定时器-软件定时器)

简介 RT-Thread 软件定时器的简单使用步骤 创建项目 参考 BearPi RT-Thread项目创建 定时器管理接口 定时器时钟节拍 定时器管理相关函数 定时器类型 #define RT_TIMER_FLAG_ONE_SHOT 0x0 //一次性计时器 #define RT_TIMER_FLAG_PERIODIC 0x2 // 周期性定时器 #…

【Docker】ES、Kibana及IK安装配置

目录 一.单节点安装部署 1.版本选择 2.推荐及总结 ​3.官网下载地址 4.创建网络 5.拉取镜像 6.创建文件夹 7.运行docker命令 二、安装kibana 1.安装kibana 2.浏览器访问 3.国际化 三、Elasticsearch查询 1.数据插入:POST或PUT 2.数据查询GET 3.分词…

如何用Adobe Audition 检测波形的pop和卡顿

在Adobe Audition中,检测卡顿和pop的方法各有不同: 1. **检测卡顿**: - 使用“诊断”面板中的“删除静音”或“标记音频”选项可以帮助识别音频中的静音段落,这可能表明存在卡顿。 - 配置诊断设置,指定静音的振…

docker consul容器的自动发现与注册

一、微服务(容器)的注册与发现——微服务架构中极其重要的组件 1、定义:是一种分布式管理系统以及定位服务的方法。传统架构中,应用程序之间直连到已知的服务,设备提供的网络(IP地址)&#xff…

高级前端开发工程师

岗位需求 熟练掌握前端主流框架Vue、React、Angular,至少熟练掌控Vue全家桶 文章目录 岗位需求前言一、Vue框架二、React框架三、Angular框架四、什么是Vue全家桶前言 -那就看你表哥的电脑里有没有硬盘 -我不敲键盘 一、Vue框架 Vue(读音为/vjuː/,类似于"view"…

Linux 内存池源码剖析

1 传统的分配与释放内存的函数缺点: void *malloc(size_t size); void *calloc(size_t nmemb,size_t size);void *realloc(void *ptr, size_t size);void free(void *ptr);缺点1: 高并发时较小内存块使用导致系统调用频繁,降低了系统的执行效率 缺点2: 频繁使用时增加了系统…

【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透)

【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透) 全国职业院校技能大赛高职组信息安全管理与评估 (赛项) 评分标准 第三阶段 夺旗挑战CTF(网络安全渗透) *竞赛项目赛题* 本文…

柔性数组(结构体成员)

目录 前言: 柔性数组: 给柔性数组分配空间: 调整柔性数组大小: 柔性数组的好处: 前言: 柔性数组?可能你从未听说,但是确实有这个概念。听名字,好像就是柔软的数…

如何连接到 Azure SQL 数据库(下)

在《如何连接到 Azure SQL 数据库(上)》中,我们已经了解到了以下内容↓↓↓ 开始之前:Azure 连接凭据和防火墙 如何检索 Azure 连接凭据如何配置服务器防火墙使用 SQL Server Management Studio 连接到 Azure使用 dbForge Studio…

数据结构--稀疏矩阵及Java实现

一、稀疏 sparsearray 数组 1、先看一个实际的需求 编写的五子棋程序中,有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。 2、稀疏数组基本介绍 当一个数组中大部分元素为0…

wordpress安装之正式开始安装wordpress

1、拉取wordpress镜像 docker pull wordpress 2、启动容器 启动容器,设置容器名为wordpress2并把80端口映射到宿主机的9988端口 docker run -it --name wordpress2 -p 9988:80 -d wordpress 3、查看容器状态 docker ps 4、安装wordpress博客程序 因为我们前面启…

微信小程序---使用npm包安装Vant组件库

在小程序项目中,安装Vant 组件库主要分为如下3步: 注意:如果你的文件中不存在pakage.json,请初始化一下包管理器 npm init -y 1.通过 npm 安装(建议指定版本为1.3.3) 通过npm npm i vant/weapp1.3.3 -S --production 通过y…

大数据技术14:FlinkCDC数据变更捕获

前言:Flink CDC是Flink社区开发的flink-cdc-connectors 组件,这是⼀个可以直接从 MySQL、PostgreSQL 等数据库直接读取全量数据和增量变更数据的 source 组件。 https://github.com/ververica/flink-cdc-connectors 一、CDC 概述 CDC 的全称是 Change …

换内核ubuntu

grep menuentry /boot/grub/grub.cfg我要使用第三个(索引从0开始,所以是第二个) 可以使用vi编辑(很麻烦) i变为插入模型 esc变为普通模型 :x删除单个字符,dd删除一行,:wq保存并退出 更新文件…

rabbitmq-windows安装使用-简易后台界面-修改密码

文章目录 1.下载2.安装3.安装 RabbitMQ4.后台访问5.修改密码 1.下载 将erlang运行时和rabbitmq-windows版本,上传在csdn,下载链接。https://download.csdn.net/download/m0_67316550/88633443 2.安装 右键,以管理员身份运行rabbitmq。启动…

Android 12.0 Launcher3定制化之动态时钟图标功能实现

1.概述 在12.0的系统产品rom定制化开发中,在Launcher3中的定制化的一些功能中,对于一些产品要求需要实现动态时钟图标功能,这就需要先绘制时分秒时针表盘,然后 每秒刷新一次时钟图标,时钟需要做到实时更新,做到动态时钟的效果,接下来就来分析这个功能的实现 如图: 2.动…

《Kotlin核心编程》笔记:面向对象

kotlin 中的类 // Kotlin中的一个类 class Bird {val weight: Double 500.0val color: String "blue"val age: Int 1fun fly() { } // 全局可见 }把上述代码反编译成Java的版本,然后分析它们具体的差异: public final class Bird {privat…

Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装

一、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品,无论是后端开发、…

【产品经理】产品专业化提升路径

产品专业化就是上山寻路,梳理一套作为产品经理的工作方法。本文作者从设计方法、三基座、专业强化、优秀产品拆解、零代码这五个方面,对产品经理的产品专业化进行了总结归纳,一起来看一下吧。 产品专业化就是上山寻路,梳理一套作为…