一、实验环境

IDEA 版本:IntelliJ IDEA v2023.1.2

Windows 本地Tomcat 版本:tomcat 8.5

服务器OS:Rocky 9.3

服务器 Tomcat 版本:tomcat 8.5

二、制作war包

前往tomcat 官网下载windows 版本的tomcat 安装包,解压到本地目录:

实验记录:Tomcat - 制作和部署一个war包_制作war包

实验记录:Tomcat - 制作和部署一个war包_部署war包_02

打开IDEA --> 新建项目 --> Jakarta EE

实验记录:Tomcat - 制作和部署一个war包_war包_03

如果没有安装JDK,选择安装一下

实验记录:Tomcat - 制作和部署一个war包_Tomcat_04

下载安装的路径在用户目录下

实验记录:Tomcat - 制作和部署一个war包_war包_05

项目名称叫做webdomo --> 模板使用 Web application --> Next

实验记录:Tomcat - 制作和部署一个war包_war包_06

Version 选用Java EE 8 --> Create

实验记录:Tomcat - 制作和部署一个war包_制作war包_07

右下角选择点击 Load Maven Project,如果超时未点击,可在右边Notification 栏展开查看

实验记录:Tomcat - 制作和部署一个war包_war包_08

File --> Project Structure

实验记录:Tomcat - 制作和部署一个war包_部署war包_09

Artifacts --> 修改Name为“webdomo” --> OK

实验记录:Tomcat - 制作和部署一个war包_Tomcat_10

菜单栏选择Run --> Edit Configurations

实验记录:Tomcat - 制作和部署一个war包_war包_11

选择添加新的配置

实验记录:Tomcat - 制作和部署一个war包_制作war包_12

选择本地tomcat 

实验记录:Tomcat - 制作和部署一个war包_部署war包_13

实验记录:Tomcat - 制作和部署一个war包_Tomcat_14

选择Deployment --> 添加 --> Artifact --> webdomo --> OK

实验记录:Tomcat - 制作和部署一个war包_Tomcat_15

实验记录:Tomcat - 制作和部署一个war包_Tomcat_16

实验记录:Tomcat - 制作和部署一个war包_Tomcat_17

回到Server --> 查看URL 已经发生变化 --> OK

实验记录:Tomcat - 制作和部署一个war包_Tomcat_18

菜单栏选择Run 运行一下tomcat

实验记录:Tomcat - 制作和部署一个war包_部署war包_19

实验记录:Tomcat - 制作和部署一个war包_war包_20

等待tomcat 运行完成,IDEA 自动调用浏览器访问URL

实验记录:Tomcat - 制作和部署一个war包_部署war包_21

停止运行tomcat

实验记录:Tomcat - 制作和部署一个war包_Tomcat_22

Project Structure --> Artifacts --> Output directory 这里已经配置了war 包的输出路径,接下来开始构建war 包

菜单栏选择Build --> Build Artifacts --> webdomo --> build

实验记录:Tomcat - 制作和部署一个war包_制作war包_23

实验记录:Tomcat - 制作和部署一个war包_部署war包_24

打开war 包的输出路径,可以看到war 包已经构建好了

实验记录:Tomcat - 制作和部署一个war包_制作war包_25

所谓的war 包,其实就是一个压缩包文件,可以用7zip 打开看到里面的目录结构

实验记录:Tomcat - 制作和部署一个war包_war包_26

三、部署war包

第二节我们已经制作好了一个war包,在本地运行测试正常,接下来把这个war 包部署到服务器上

上传war 包到服务器上,重命名一下:

[root@localhost ~]# mv webdemo-1.0-SNAPSHOT.war webdemo.war

将war 包拷贝到tomcat 的webapp 目录下,如果当前tomcat 程序还在运行,那么默认会自动解压这个war 包,可以看到已经解压到当前目录中了

[root@localhost ~]# cp webdemo.war apache-tomcat-8.5.100/webapps/
[root@localhost ~]# cd apache-tomcat-8.5.100/webapps/
[root@localhost webapps]# ls -l
total 12
drwxr-x---. 16 root root 4096 May  3 15:55 docs
drwxr-x---.  7 root root   99 May  3 15:55 examples
drwxr-x---.  6 root root   79 May  3 15:55 host-manager
drwxr-x---.  6 root root  114 May  3 15:55 manager
drwxr-x---.  3 root root 4096 May  3 15:55 ROOT
drwxr-x---.  4 root root   54 May  4 12:19 webdemo
-rw-r--r--.  1 root root 2504 May  4 12:19 webdemo.war

如果tomcat 还没有启动,启动一下即可:

[root@localhost ~]# cd apache-tomcat-8.5.100/bin/
[root@localhost bin]# ./startup.sh

检查一下进程状态:

实验记录:Tomcat - 制作和部署一个war包_部署war包_27

服务器ip地址是192.168.1.50,防火墙和selinux 均已关闭,直接在客户端浏览器访问看看:

实验记录:Tomcat - 制作和部署一个war包_Tomcat_28

实验记录:Tomcat - 制作和部署一个war包_部署war包_29

访问正常,那么到这里就说明已经部署成功了!