Tomcat部署——个人笔记


Tomcat部署——个人笔记

本学习笔记参考尚硅谷等教程。

简介

Apache Tomcat 官网

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

安装

下载

进入官网,查看左边侧边栏(若没出现可能是浏览器窗口宽度不够,拉长之后自动出现),在Download一栏中选择要下载的Tomcat版本。

注意:Tomcat 9 之前开发的项目在 Tomcat 10之后的版本不兼容。

根据表中提示选择要下载的Tomcat 版本 :Apache Tomcat® - Tomcat的版本选择

此处我选择用Java 17来进行开发,所以我选择的是Tomcat 10,详细版本为10.1.26

下载Tomcat 10对应的压缩文件:64-bit Windows zip,之后在适合的位置解压缩。

配置环境变量

右键”我的电脑“ → 系统设置 → 高级系统设置 → 高级 → 环境变量 → 系统变量 → 新建

变量名中填写: JAVA_HOME

变量值中填写:你的JAVA的根目录(使用 IDEA 会自动下载JAVA,所以可以去IDEA查找对应 JAVA 的下载目录)

测试

在 Tomcat 的解压根目录中,打开 bin/startup.bat ,若启动成功,则安装完成。若闪退,则可能是配置JAVA_HOME的时候出错。

启动成功之后,观察倒数第二行出现的“http-nio-数字”,此数字为端口(一般默认为8080)。在浏览器中输入 localhost:数字 ,则可进入Tomcat服务器的首页。

Tomcat 的关闭方式:
1.关闭Tomcat的运行窗口
2.运行bin/shutdown.bat

配置文件

启动成功 Tomcat 时,窗口内字体为乱码(cmd默认编码方式为GBK,而Tomcat编码默认为UTF-8)
在conf/logging.properties中修改 java.util.logging.ConsoleHandler.encoding项,使其=GBK。

其他情况出现乱码也如上,在对应的配置项操作。

conf/server.xml 中可以修改服务器相关配置(如端口号修改)

conf/tomcat-users.xml 配置管理类型项目的账号密码

WEB项目的标准结构

一个标准的可以用于发布的WEB项目标准结构如下

Tomcat 根目录 / webapps

└─app/

├─ static/
│ ├── css
│ ├── img
│ └── js

├─ WEB-INF/
│ ├── classes
│ ├── lib
│ └── web.xml

└─ index.html

  • app 本应用根目录
    • static 非必要目录,约定俗成的名字,一般在此处放静态资源 ( css js img)
    • WEB-INF 必要目录,必须叫WEB-INF,受保护的资源目录,浏览器通过url不可以直接访问的目录
      • classes 必要目录,src下源代码,配置文件,编译后会在该目录下,web项目中如果没有源码,则该目录不会出现
      • lib 必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是没有依赖任何jar,则该目录不会出现
      • web.xml 必要文件,web项目的基本配置文件. 较新的版本中可以没有该文件,但是学习过程中还是需要该文件
    • index.html 非必要文件,index.html/index.htm/index.jsp为默认的欢迎页

WEB项目部署

方式1 直接将编译好的项目放在webapps目录下 (已经演示)

方式2 将编译好的项目打成war包放在webapps目录下,tomcat启动后会自动解压war包(其实和第一种一样)

方式3 可以将项目放在非webapps的其他目录下,在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件,使Tomcat获取指向该项目的路径。

<!-- 
	path: 项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称
    docBase: 项目在磁盘中的实际路径
 -->
<Context path="/app" docBase="D:\mywebapps\app" />

IDEA中开发并部署运行WEB项目

打开 IDEA 设置

左侧侧边栏,选中“构建,执行,部署”项(Build,Execution,Deployment),再选中应用程序服务器(Application Servers)

点击右侧窗口的左上方出现的 ,在弹出菜单选择Tomcat服务器(Tomcat Server)

主目录(Tomcat Home)选择Tomcat的安装目录

点击ok即可关联。

使用Tomcat开发项目时,推荐先创建一个空项目,这样可以在一个空项目下同时存在多个modules,不用后续来回切换之前的项目,当然也可以忽略此步直接创建web项目

使用IDEA创建项目。

创建完成后,选中项目结构(Project Structure)

image-20240801170014725

检查项目的SDK,语法版本,以及项目编译后的输出目录

image-20240801170150158

创建一个普通的JAVA项目

image-20240801170400392

image-20240801170449637

创建完毕后,打开项目结构,为项目添加Tomcat依赖

image-20240801170916440

image-20240801171008345

image-20240801171031330

添加框架支持(选中相应module后,双击shift,搜索"添加框架支持")

image-20240801171452171

image-20240801171800981

删除module目录下出现的index.jsp ,替换为 index.html

处理配置文件

  • 在工程下创建resources目录,专门用于存放配置文件(都放在src下也行,单独存放可以尽量避免文件集中存放造成的混乱)
  • 标记目录为资源目录,不标记的话则该目录不参与编译(右键resources目录,选择"将目录标记为…“,在弹出菜单中选择"资源根目录”)

处理依赖jar包问题

  • 在WEB-INF下创建lib目录
  • 必须在WEB-INF下,且目录名必须叫lib
  • 复制jar文件进入lib目录
  • 将lib目录添加为当前项目的依赖(右键lib目录,选择"添加为库…" → 环境级别推荐选择module 级别,降低对其他项目的影响,name可以空着不写)

在web文件夹下,生成一个 WEB 项目的标准结构,将要开发的项目放入。

image-20240801172634825

配置项目,使其在Tomcat服务器上运行

image-20240801173300244

image-20240801173412178

image-20240801173448419

image-20240801173530764

点击apply 应用后,回到Server部分. After Launch是配置启动成功后,是否默认自动打开浏览器并输入URL中的地址,HTTP port是Http连接器目前占用的端口号

image-20240801173722109

运行项目

image-20240801174042138

访问对应文件,成功

image-20240801174109312

工程结构和可以发布的项目结构之间的目录对应关系

image-20240801174129857

IDEA部署并运行项目的原理

  • idea并没有直接进将编译好的项目放入tomcat的webapps中
  • idea根据关联的tomcat,创建了一个tomcat副本,将项目部署到了这个副本中
  • idea的tomcat副本在C:\用户\当前用户\AppData\Local\JetBrains\IntelliJIdea2022.2\tomcat\中
  • idea的tomcat副本并不是一个完整的tomcat,副本里只是准备了和当前项目相关的配置文件而已
  • idea启动tomcat时,是让本地tomcat程序按照tomcat副本里的配置文件运行
  • idea的tomcat副本部署项目的模式是通过conf/Catalina/localhost/*.xml配置文件的形式实现项目部署的

image-20240801174204152

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 多tomcat服务 统一安装 统一部署 工具 shell编写 1 引言 基于JAVA开发项目,随着服务的越来越多,配置文件更是眼花缭乱,每次不知道因为配置问题浪费多少时间,更不知道因为配置问题出过多少问题。多台服务器来回切换,如果服务需要依赖,启动更是问题。 1.1 目的 一次修改,统一安装;操作简单,实用高效。 1.2 范围 本项目使用范围包括: * 基于JAVA开发项目 * 项目相关服务繁多 * 服务启动有依赖关系 1.3 读者 本需求规格说明书的阅读者或其他文档干系人有平台总监、产品经理、项目总监、项目经理、开发人员、测试人员、用户体验设计人员等。 2 项目总体描述 2.1 系统总体功能框架 2.2 系统功能列表 Exec 建立信任、初始命令 初始 Tools 提供服务与服务列表 扫描提供服务列表,获取配置信息 Conf 自动获取需要修改配置 自动生成 Bin 执行脚本 提供总执行与单一执行脚本 New 存放修改后配置文件 与bak保留文件成反比 Bak 存放原始配置文件 便于问题分析 Temp 存放临时文件 临时文件将及时删除无任何冗积 Workapp 存放war包 上传war包 3 功能描述 3.1 获取配置文件 通过本系统获取配置文件非常简单,只需用户提供服务列表,其他无需操作。服务列表如下: name ip serve 服务名称 192.168.0.1 /home/tomcat_服务名称 服务名称 192.168.1.2 /home/tomcat_服务名称 服务名称 192.168.1.2 /home/tomcat_服务名称 名词解释: name :服务名称,需与war包名称一致。 ip :服务器ip地址。 serve :Tomcat部署路径。 执行脚本,“.. /unifyDeploy/conf”自动生成用户所需修改配置文件,配置文件是通过筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。 3.2 自动化统一安装部署 自动化统一安装部署,包括:上传解压war包、同步配置、启动服务、监控服务等。 list.ll one.sh pass.war startup.sh syn.cn two.sh 部署支持统一安装于分布式安装,每个脚本可以拆分开任意组合使用,比如: 1) 一套新环境tomcat中还未部署服务,只需调整上传war包脚本顺序,先上传war后,后续操作正常执行。 2) 迭代更新,功能稍作修改,原配置项无需修改,也只需调整上传war包脚本顺序,先获取原有配置,再上传更新war包,后续操作正常执行。 3.3 优缺点描述 优点描述: * 适用于统一安装部署,也适用于单独服务安装部署。 * 保留原始备份,方便部署前后配置对比。 * 操作简单、需求扩展能力强。 不足描述: * 暂时只适用于基于tomcat服务器项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值