全栈:Tomcat 安装教程

Tomcat 安装教程

安装 Tomcat 的步骤因操作系统而异,以下是 Windows、Linux 和 Mac 系统的详细安装方法:

一、Windows 系统安装 Tomcat

  1. 下载 Tomcat

    访问 Tomcat 官方网站(http://tomcat.apache.org/),选择适合的版本(如 Tomcat 10),下载 Windows 系统的ZIP 压缩包(无需安装程序,解压即可用)。

  2. 解压安装

    将下载的 ZIP 文件解压到任意目录(建议路径不含中文和空格,如C:\apache-tomcat-10.1.0)。

  3. 配置环境变量(可选)

  • 右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”。

  • 新建系统变量:

    • 变量名:CATALINA_HOME

    • 变量值:Tomcat 安装目录(如C:\apache-tomcat-10.1.0)。

  • 在 “Path” 变量中添加:%CATALINA_HOME%\bin

  1. 验证安装
  • 进入 Tomcat 安装目录的bin文件夹,双击startup.bat启动 Tomcat。

  • 打开浏览器访问http://localhost:8080,若看到 Tomcat 默认页面,说明安装成功。

  • 关闭 Tomcat 可双击shutdown.bat

  1. 注册为系统服务(可选)
  • 以管理员身份打开命令提示符,进入bin目录,执行:
service.bat install
  • 安装后可在 “服务” 中找到 Tomcat,设置为 “自动启动”。

二、Linux 系统安装 Tomcat(以 Ubuntu 为例)

  1. 安装 Java(依赖)

    Tomcat 依赖 Java 环境,先安装 JDK:

sudo apt updatesudo apt install openjdk-11-jdk  # 安装OpenJDK 11

验证 Java 是否安装成功:

java -version
  1. 下载并解压 Tomcat
\# 下载Tomcat(版本号根据官网最新版调整)wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.13/bin/apache-tomcat-10.1.13.tar.gz\# 解压到/opt目录sudo tar -zxvf apache-tomcat-10.1.13.tar.gz -C /opt\# 重命名(可选,方便操作)sudo mv /opt/apache-tomcat-10.1.13 /opt/tomcat
  1. 配置权限

    赋予 Tomcat 目录执行权限:

sudo chmod +x /opt/tomcat/bin/\*.sh
  1. 启动 Tomcat
/opt/tomcat/bin/startup.sh
  1. 验证安装
  • 访问http://服务器IP:8080(本地可访问http://localhost:8080)。

  • 若无法访问,检查防火墙是否开放 8080 端口:

sudo ufw allow 8080/tcp
  1. 设置开机自启(可选)

    创建系统服务文件:

sudo nano /etc/systemd/system/tomcat.service

添加以下内容(路径根据实际安装目录调整):

\[Unit]Description=Apache TomcatAfter=network.target\[Service]Type=forkingUser=rootGroup=rootEnvironment="CATALINA\_HOME=/opt/tomcat"ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.sh\[Install]WantedBy=multi-user.target

保存后启用服务:

sudo systemctl daemon-reloadsudo systemctl enable tomcatsudo systemctl start tomcat

三、Mac 系统安装 Tomcat

  1. 通过 Homebrew 安装(推荐)

    若已安装 Homebrew,直接在终端执行:

brew install tomcat
  1. 手动安装(类似 Linux)
  • 下载 Tomcat 压缩包,解压到/usr/local或用户目录(如~/tomcat)。

  • 配置环境变量:

echo 'export CATALINA\_HOME=/usr/local/tomcat' >> \~/.zshrc  # 或\~/.bash\_profilesource \~/.zshrc  # 生效配置
  1. 启动与验证
  • 启动:$CATALINA_HOME/bin/``startup.sh

  • 访问http://localhost:8080,看到默认页面即为成功。

四、常见问题

  • 启动失败:检查 Java 环境是否配置正确(JAVA_HOME变量是否设置)。

  • 端口占用:若 8080 端口被占用,可修改conf/server.xml中的端口号(搜索<Connector port="8080")。

  • 权限问题:Linux/Mac 下若提示无权限,使用sudo执行启动命令,或修改目录权限。

安装完成后,即可将 Web 应用(WAR 包)放入 Tomcat 的webapps目录,通过浏览器访问应用。

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

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

相关文章

数据分析——Pandas库

Pandas是Python生态系统中最强大、最流行的数据分析库&#xff0c;专为处理结构化数据&#xff08;如表格和时间序列&#xff09;而设计。它提供了高效的数据结构和丰富的功能&#xff0c;使得数据清洗、转换、分析和可视化变得简单直观。一、Pandas库的安装详解1. 安装前的准备…

数据结构-哈希表(散列表)

1.基本概念哈希表&#xff08;散列表&#xff09;&#xff1a;提高数据的查找效率哈希存储&#xff1a;将要存储的数据的关键字和存储位置之间&#xff0c;建立起对应的关系&#xff0c; 这个关系称之为哈希函数。存储数据时&#xff0c;通过对应的哈希函数可以将数据映射到指定…

如何在Vue中使用拓扑图功能

前言 该组件基于 Vue.js 和 AntV G6 构建项目特色功能 1. 丰富的节点图标支持 本拓扑图系统的最大特色是支持使用自定义图片作为节点图标 2. 智能的力导向布局 系统采用力导向布局算法&#xff0c;能够自动优化节点位置&#xff0c;避免重叠&#xff0c;形成美观的网络拓扑结构…

基于dynamic的Druid 与 HikariCP 连接池集成配置区别

你提供的内容是关于 ​​dynamic-datasource-spring-boot-starter​​ 的详细介绍&#xff0c;这是一个非常实用的 ​​Spring Boot 多数据源动态切换组件​​&#xff0c;适用于需要在单个应用中连接多个数据库并灵活切换数据源的场景。下面我为你梳理一下该组件的核心信息与使…

算法训练之栈

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

OpenAI 最新开源模型 gpt-oss (Windows + Ollama/ubuntu)本地部署详细教程

OpenAI 最近发布了其首个开源的开放权重模型gpt-oss&#xff0c;这在AI圈引起了巨大的轰动。对于广大开发者和AI爱好者来说&#xff0c;这意味着我们终于可以在自己的机器上&#xff0c;完全本地化地运行和探索这款强大的模型了。 本教程将一步一步指导你如何在Windows系统上&…

在X86架构Linux中创建虚拟根目录并下载指定架构(如aarch64)的软件包(含依赖)

在X86架构Linux中创建虚拟根目录并下载指定架构(如aarch64)的软件包(含依赖) 在Linux系统中&#xff0c;有时候我们需要在特定的环境或架构下安装软件包&#xff0c;而不影响主系统。一种常见的方法是创建一个虚拟的根目录&#xff0c;并在此环境中操作。本文将介绍如何通过创建…

scratch笔记和练习-第9课:一起来绘画

位图也称为点阵图&#xff0c;它是由许许多多的点组成的&#xff0c;这些点被称为像素。位图图像可以表现丰富的多彩变化 并产生逼真的效果&#xff0c;很容易在不同软件之间交换使用&#xff0c; 但它在保存图像时需要记录每一个像素的色彩信息&#xff0c;所以占用的存储空间…

[linux] Linux:一条指令更新DDNS

Linux&#xff1a;一条指令更新DDNS 在动态IP环境下&#xff0c;如何确保我们的域名始终指向正确的公网IP地址&#xff1f;动态DNS&#xff08;DDNS&#xff09;服务为我们提供了完美的解决方案。今天&#xff0c;我将分享一个简洁高效的Linux命令行指令&#xff0c;用于自动更…

[激光原理与应用-182]:测量仪器 - 光束型 - 光束质量分析仪

光束质量分析仪是用于精确评估激光光束特性的核心设备&#xff0c;通过测量光束的强度分布、相位分布、发散角等参数&#xff0c;为激光系统的优化、加工工艺控制及科研实验提供关键数据支持。以下是光束质量分析仪的详细解析&#xff1a;一、核心功能 - 光束强度分布分析测量内…

Linux 限制 root 登录 IP 地址的方法

Linux 限制 root 登录 IP 地址的方法Linux 限制 root 登录 IP 地址的方法方法一&#xff1a;修改 SSH 配置文件方法二&#xff1a;使用 hosts.allow 和 hosts.deny 文件方法三&#xff1a;使用防火墙规则方法四&#xff1a;使用 access.conf 文件注意事项Linux 限制 root 登录 …

Word中怎样插入特殊符号

使用 “插入” 菜单&#xff1a;插入常用符号&#xff1a;将光标置于要插入符号的位置&#xff0c;点击 “插入” 选项卡&#xff0c;在 “符号” 组中点击 “符号” 按钮&#xff0c;会弹出一个符号库&#xff0c;里面包含了常见的标点符号、特殊字符等&#xff0c;找到所需符…

Linux 内核发包流程与路由控制实战

Linux 内核发包流程与路由控制实战 在网络调优、性能优化、SDN、NFV、容器网络等场景下&#xff0c;理解 Linux 内核发包路径和路由控制机制是必修课。 本文将从内核网络栈的原理入手&#xff0c;再结合 iproute2 命令和 策略路由给出实战案例。一、Linux 内核发包流程&#xf…

点播服务器

早期的时候&#xff0c;用 live555 作为 rtsp 点播服务器&#xff1b;现在比较常用的 流媒体服务器比较多&#xff1b;这里比较简单的&#xff0c;可以用 ZLMediakit&#xff1b;可以支持 ffmeg 退流 到ZLMediakit&#xff0c;然后别的客户端从 ZLMediakit 服务器拉流&#xff…

分享超图提供的、很不错的WebGIS学习资源

最近在学习了解Supermap iclient&#xff0c;发现官方提供的帮助文档、GIS学堂真的不错&#xff0c;解释了很多的内容。 官方modern-web-gis-in-action文档的网址如下&#xff1a;https://iclient.supermap.io/web/books/modern-web-gis-in-action/&#xff0c;在其中介绍了现代…

通信算法之298: verilog语法generate和for介绍

在 Verilog 中&#xff0c;generate和for是实现参数化设计和模块实例化复用的重要工具&#xff0c;尤其在需要根据参数动态生成逻辑时非常有用。以下是它们的使用方法和区别&#xff1a;1. for循环&#xff08;过程块内&#xff09;for循环主要用于过程块&#xff08;always/in…

laravel在cli模式下输出格式漂亮一些

在 Laravel 的 CLI 模式下&#xff0c;可以通过以下方式让命令行输出更加美观和专业&#xff1a; 1. 使用 Artisan 输出助手方法 Laravel 提供了多种输出样式方法&#xff1a; public function handle() {// 基础样式$this->info(成功信息 - 绿色); // 绿色$this->err…

大数据管理与应用学什么?就业前景怎么样?

前言在数字经济蓬勃发展的今天&#xff0c;大数据已经成为推动社会进步的核心生产要素。大数据管理与应用作为新兴交叉学科&#xff0c;正受到越来越多学生和企业的关注。本文将全面剖析该专业的课程体系、核心技能要求&#xff0c;详细介绍CDA数据分析师认证的备考策略&#x…

mac笔记本如何重新设置ssh key

要在Mac上重新生成SSH密钥并将其添加到平台&#xff0c;可以按照以下步骤操作&#xff1a; 打开终端 在Mac上&#xff0c;你可以通过Spotlight搜索&#xff08;按Command Space&#xff09;输入Terminal来打开终端或者直接搜索终端检查现有SSH密钥 首先&#xff0c;检查是否已…

Godot ------ 通过鼠标对节点进行操作

Godot ------ 通过鼠标对节点进行操作 引言 正文 引言 对于一个游戏,通过鼠标对游戏对象进行操作是非常普遍的行为,本文我们将以 Control 节点进行举例,说明如何通过鼠标对 Control 节点进行移动操作。 正文 首先,我们创建一个 Contorl 节点,并将它的 Layout->Trans…