Tomcat -- 07 -- Linux上部署war包
相关文章:
这里主要介绍下如何将项目打包成 war 包,并将其部署到服务器上进行访问
用到的工具如下
-
IntelliJ IDEA 2018.3.1 x64
-
apache-tomcat-9.0.36
-
apache-maven-3.5.2
一、编写项目
-
首先我们先创建一个 SpringBoot 项目,该项目里只有一个类,如下所示
@RestController public class HelloController { @GetMapping(value = "/hello") public String hello() { return "Hello World !"; } }
-
SpringBoot 项目直接打包,默认会打成 jar 包,因此这里我们将它改成 war 包的形式,并以外部 Tomcat 的方式来启动
-
将 SpringBoot 项目改为外置 Tomcat 启动,可以查看这篇文章:SpringBoot项目改为外置Tomcat启动
二、生成 war 包
- 接着我们先在 IDEA 中配置本地 Maven,然后点击 IDEA 面板右侧的 Maven 选项,点击 package 即可生成 war 包
三、部署项目并验证
-
方式一
-
直接将打好的 war 包上传到 Tomcat 的 webapps 目录下
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/webapps
-
rz demo-0.0.1-SNAPSHOT.war
-
-
当 Tomcat 启动时,会自动解压 webapps 目录下的 war 包,并启动项目
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/bin
-
./startup.sh
-
-
在浏览器输入:IP + Tomcat 端口 + 项目名 + 访问路径,进行验证,结果符合预期
-
-
方式二
-
上传项目至指定目录目录并解压
-
mkdir -p /data/demo
-
cd /data/demo
-
rz demo-0.0.1-SNAPSHOT.war
-
unzip demo-0.0.1-SNAPSHOT.war
-
-
修改 server.xml 配置文件 (在 Host 标签中插入)
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/conf/
-
vim server.xml
<Context path="/test" docBase="/data/demo" debug="0" reloadbale="true"></Context>
-
:wq
-
-
Context 标签中几个参数作用如下
-
path
- 项目访问路径,如:http://localhost:8080/test/…
-
docBase
- 项目所在路径,即 war 包解压后文件所在的路径
-
debug
-
用于设置 Tomcat 的日志调试信息 (debug level)
-
0 表示提供最少的信息,9 表示提供最多的信息,数值越大越详细
-
-
reloadbale
- 当该属性设为 true 时,Tomcat 会在运行状态下会监控在 WEB-INF/classes 和 WEB-INF/lib 目录下 Class 文件的改动,如果监测到有 Class 文件被更新,则服务器会自动重新加载 Web 应用
-
-
启动 Tomcat
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/bin
-
./startup.sh
-
-
在浏览器输入:IP + Tomcat 端口 + path + 访问路径,进行验证,结果符合预期
-
-
方式三
-
在 conf/Catalina/localhost 中添加一个 xml 文件
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/conf/Catalina/localhost/
-
vim demo.xml
<Context docBase="/data/demo" debug="0" reloadbale="true"></Context>
-
:wq
-
-
使用这种方式,Tomcat 会将 xml 文件的名字作为 web 应用的上下文路径,而不再理会 <Context> 标签中配置的 path 路径,因此在配置的时候,我们可以不用配置 path,即使写了也没有用
-
启动 Tomcat
-
cd /usr/local/tomcat/apache-tomcat-9.0.36/bin
-
./startup.sh
-
-
在浏览器输入:IP + Tomcat 端口 + xml 文件名 + 访问路径,进行验证,结果符合预期
-
-
后两种部署方式的区别在于
-
方式二
- server.xml 作为 Tomcat 的主要配置文件,一旦 Tomcat 启动后,便不会再去读取这个文件,因此想要部署新的 web 应用必须重启 Tomcat
-
方式三
- 每个项目分开配置,Tomcat 会将 xml 文件的名字作为 Web 应用的上下文路径,当 Tomcat 启动后,Tomcat 会去不断扫描 conf/Catalina/localhost/ 下的 xml 文件,当发现新的 xml 文件后,会将 xml 中指定的 Web 项目动态加载到 Tomcat 中,也就是说想要部署新的 web 应用无需重启 Tomcat (热加载)
-
上一篇: PHP一个种AOP的实现
下一篇: Kafka 7:自定义分区器
推荐阅读
-
Springboot把WEB项目打成WAR包部署到外部TOMCAT
-
Tomcat -- 07 -- Linux上部署war包
-
SpringBoot打包项目成war包,并部署到服务器的tomcat上
-
war包部署到linux服务器
-
详解将Web项目War包部署到Tomcat服务器基本步骤
-
Maven项目打包成war包部署到Tomcat的方法
-
Springboot打成war包并在tomcat中运行的部署方法
-
Springboot打成war包并在tomcat中运行的部署方法
-
springboot项目打成war包部署到tomcat遇到的一些问题
-
Springboot打成war包并在tomcat中运行的部署方法