springboot项目打成war包部署,tomcat修改配置

apache-tomcat-8.5.37-windows-x64 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展,但它是独立运行的。 立即下载
  • 1.tomcat安装
    ①下载apache-tomcat-8.5.37-windows-x64.zip,配置环境变量TOMCAT_HOME=tomcat安装路径/bin,再添加class_path =%TOMCAT_HOME%\BIN;
    ②启动cmd.exe, 进入tomcat 安装文件下的 bin目录下,例如我这里的安装位置:D:\Program Files\tomcat8.5
    ③进入命令行,输入 d: 回车, cd D:\Program Files\tomcat8.5\bin 回车 ,startup 启动服务器,shutdown 关闭服务器.
  • 2.war 包部署
    ①pom.xml 文件 首先更改打包方式 war,再排除springboot内置的 web 项目下tomcat依赖
<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		<exclusions>
			<exclusion>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-tomcat</artifactId>
			</exclusion>
		</exclusions>
	   </dependency>
   再引入tomcat依赖:
  <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。
                相当于compile,但是打包阶段做了exclude操作-->
			<scope>provided</scope>
		</dependency>
	再添加 打成war包以后的名字:
	<fileName>demo</fileName>
-- 更改springboot的启动类 DemoApplication,让其实现SpringBootServletInitializer,然后重写configure()方法:示例
 @SpringBootApplication
		public class DemoApplication extends SpringBootServletInitializer {
			public static void main(String[] args) {
				SpringApplication.run(DemoApplication.class, args);
			}

			@Override
			protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
				return builder.sources(DemoApplication.class);
			}
		}
① IDEA 下,运行mvn clean,--> mvn package ,等到项目打包成功,在该项目文件位置找到target 下的 demo.war,拷贝到tomcat8.5/webapps目录下,
②使用windows命令行,启动tomcat服务器,项目启动成功会出现, spring 的标志
   ③访问路径:localhost:8080/${打包文件名}/请求url
④如何在访问时 去掉war包名?
   答:① 原理:Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我们的项目覆盖ROOT项目 
		操作过程: 
		1.删除ROOT下所有文件及文件夹 
		2.把我们项目的war包解压后,项目目录下的所有文件和子目录都拷贝到ROOT目录下即可 
		或者有更狠的一招:直接删掉ROOT目录,然后把我们的项目打包名称改成ROOT.war,放到webapps下就行 
	  ② 原理:Tomcat本身可以配置虚拟目录。方法就是在Server.xml中<Engine><Host>节点下加入Context信息。如我们可以配置<Context path="/abc" docBase="D:\app\abc" ... />,那我们可以通过地址http://localhost:8080/abc来访问我们放在D:\app\下面的abc项目。我们可以把这个path="/abc"修改为path=""。意思就是把abc映射到根目录,访问路径就会变成http://localhost:8080/。 
		操作过程: 
		按照配置虚拟目录的方式,在<Engine><Host>下添加一个Context节点,具体配置如下: 
		    <Engine name="Catalina" defaultHost="localhost">  
		        <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">  
		        <Context path="" docBase="Interface" reloadable="true" />  
		    <!--注:我这里使用的是相对路径,Interface项目是放在Tomcat的webapps目录下的,当然也可以改为绝对路径-->  
		        </Host>  
		    </Engine>
  • Spring Boot也提供了对JMX监控的支持。JMX监控对外暴露的信息相同,不过是使用MBeans容器将应用数据封装管理。Springboot 的jmx 是默认开启的,如果tomcat 部署两个原springboot 打成的war 包,需要将每一个项目的jmx关闭,
    Application.properties 配置中 添加spring.jmx.enabled=false; 或者法2:在各自项目中都添加:spring.jmx.default-domain=project1
    spring.jmx.default-domain=project2
    保证domain是不一样的。

  • 3.tomcat 相关配置修改
    – 修改默认的http访问端口:8080 为 8181
    在tomcat8.5/conf/server.xml文件里修改:示例

<Connector port="8181" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
-- 修改默认的session有效期
   ①.在tomcat8.5/conf/web.xml文件里修改,范围是具体项目:示例
    <session-config>
       <session-timeout>30</session-timeout>
    </session-config>
   ②.在tomcat8.5/conf/server.xml
       <Context path="/test" docBase="/test"  
		  defaultSessionTimeOut="3600" isWARExpanded="true"  
		  isWARValidated="false" isInvokerEnabled="true"  
		  isWorkDirPersistent="false"/>
   ③.在java后台代码里配置,具体页面的session有效时间
         session.setMaxInactiveInterval(30*60;

   生效优先级: 3 > 2 > 1,
  • 4.tomcat 调优,转自https://www.cnblogs.com/zhuawang/p/5213192.html
    ①tomcat 修改最大线程,在tomcat8.5/conf/server.xml文件里修改:示例

    maxThreads=“X” 表示最多同时处理X个连接
    minSpareThreads=“X” 初始化X个连接
    maxSpareThreads=“X” 表示如果最多可以有X个线程,一旦超过X个,则会关闭不在需要的线程
    acceptCount=“X” 当同时连接的人数达到maxThreads时,还可以排队,队列大小为X.超过X就不处理
    ②tomcat 内存优化
    Windows 下的catalina.bat
    Linux 下的catalina.sh 如:
    JAVA_OPTS=’-Xms256m -Xmx512m’
    -Xms JVM初始化堆的大小
    -Xmx JVM堆的最大值 实际参数大小根据服务器配置或者项目具体设置.
    ③ Tomcat IO优化
    1:同步阻塞IO(JAVA BIO) 同步并阻塞,服务器实现模式为一个连接一个线程(one connection one thread 想想都觉得恐怖,线程可是非常宝贵的资源),当然可以通过线程池机制改善.
    2:JAVA NIO:又分为同步非阻塞IO,异步阻塞IO 与BIO最大的区别one request one thread.可以复用同一个线程处理多个connection(多路复用).
    3:,异步非阻塞IO(Java NIO2又叫AIO) 主要与NIO的区别主要是操作系统的底层区别.可以做个比喻:比作快递,NIO就是网购后要自己到官网查下快递是否已经到了(可能是多次),然后自己去取快递;AIO就是快递员送货上门了(不用关注快递进度)。
    BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解.
    NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持.
    AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持.
    在server.xml中

    实现对Tomcat的IO切换
    – APR(知识储备不够,不了解)
    APR是从操作系统级别来解决异步的IO问题,大幅度的提高性能. (http://apr.apache.org/).
    ①APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心.能更好地和其它本地web技术集成,总体上让Java更有效率作为一个高性能web服务器平台而不是简单作为后台容器.
    ②在产品环境中,特别是直接使用Tomcat做WEB服务器的时候,应该使用Tomcat,Native来提高其性能.如果不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来.
    ③在局域网环境测,就算是400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输.如果不用APR,一个线程同一时间只能处理一个用户,势必会造成阻塞。所以生产环境下用apr是非常必要的.
SIwave仿真手册——信号完整性仿真之S参数的提取(二) 上一篇简单了讲述了软件的各个操作界面,本次博客更新关于的仿真,因为第二章完整的内容比较多,所以分成好几篇博客进行分享。 阅读详情

相关推荐

RK3588 Linux启动优化至亚秒级全链路剖析

本文深入探讨RK3588平台Linux系统启动加速技术,涵盖从BL1/ATF安全固件、U-Boot剪裁到内核精简化等全链路优化方案,实现从上电到用户脚本800ms内完成的实战经验。​​文末提供完整解决方案获取方式​​。由于在 ARMv6 之后引入了 TrustZone 模块, 目前市面上 ARMv7 和 ARMv8 之后的系统都会包含了该模块, 这个模块由 BL1 启动, 且在 ATF(ARM Trust Firmware) 固件中, 既安全世界中引导到 BL33 (UBOOT)的系统。

韩若明溪 1777

windows修改替换war包配置文件

windows修改替换war包配置文件

杨咩咩 3991

echarts如何实现3D饼图(环形图)?

自定义修改3D饼图的宽高和legend

i-cat的博客 1万+

运维java项目的技巧 (war包、jar包、docker环境)

https://blog.youkuaiyun.com/csdnzouqi/article/details/90169728 mac使用vim命令修改jar包配置文件内容 https://www.cnblogs.com/tonggc1668/p/7519470.html Linux修改war包中文件 https://www.cnblogs.com/lilijun/p/7428376.html Linux修改war包中文件 https://www.orchome.com/703 linux下使用vim修改jar包、

Nightwish5的博客 2220

S参数反演法

等效介质理论模型— 利用S参数反演法提取超材料结构的等效参数 等效介质理论模型—利用S参数反演法提取超材料结构的等效参数 S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程。本文对等效介质理论模型进行了详细介绍,并提供对应代码。 超材料的传输矩阵 超材料结构的传输矩阵函数为: 其中,d 为等效光学活性材料的厚度,n 为折射率,Z 表示阻抗。 S参数和传输矩阵T 超材料结构的S参数和传输矩阵T满足下列方程: 利用以上两式,可以得到等效折射率n和相对阻抗的表达式

weixin_43962864的博客 1万+

Ubuntu18.04黑屏救急指南:从tty到图形界面的5种恢复方法(附网络配置技巧)

本文针对Ubuntu 18.04系统启动后出现黑屏并进入tty命令行的问题,提供了一套从紧急诊断到完全恢复图形化界面的系统性实战指南。文章详细讲解了五种核心恢复方法,包括重启显示管理器、重装ubuntu-desktop桌面环境、手动安装Xorg与LightDM等,并重点解决了纯命令行环境下的网络配置难题,帮助用户快速修复系统,恢复工作环境。

weixin_29243279的博客 359

修改war包中数据库配置信息

第一步:war -> jar 1、将war包解压缩 2、创建目录,层级与.java文件包名一致,把.class文件移到该目录下(如果路径名与包名不一致,转dex操作会报错) 3、用jdk/bin目录下的jar命令, jar cvf 生成.jar class目录或class文件,得到jar文件 第二步:class -> dex 需要工具: Android Build-...

Tusi.blog 8146

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权难度简单偏上对于低权限shell获取涉及:ssti漏洞对于提权:pkexec提权。

2202_75361164的博客 633

tomcat在服务器上怎么修改配置文件

tomcat在服务器上怎么修改配置文件

lk643518的博客 1902

通达信股本变迁文件(gbbq)解密方法

近年来A股市场跌宕起伏真特么精彩,本人愚钝,被整爆仓,损失惨重 痛定思痛,认为交易这种对纪律要求极高,且必须完全排除情绪影响的勾当,还是应该交给程序来干 数据哪里来呢?当然是拿来主义。。。问券商的交易软件要呗 到处查资料,得知通达信的权息文件数据齐全,不仅含有除权除息数据,还含有限售解禁、增发、可转债上市等股本变化数据 ——这对于某些对成交量变化敏感的交易模型是非常重要的

不甘碌碌老,结庐铸宝刀 2万+

RK3576 Buildroot 双机 ADB 异常排障实录:同版 `boot.img`,一台可识别一台不可识别

进程在跑”不等于“USB 枚举成功”,adbd存活只是必要不充分条件。生产环境中的全局别名可能反向污染系统脚本。shell 命令替换中的字符串问题,必须做字节级验证(od -tx1相比“改环境规避”,核心脚本对输入做鲁棒处理更可长期维护。

小灰灰的博客 211

java+maven工程 实现 自动对war包进行复制并修改和替换每个的配置文件

在工作中碰到一个比较苦恼的事情,(这里以7条线为例子)同一个war包 需要部署7条生产线,但是每个生产线的编号以及ip都不同,导致我们手动的每个包去替换配置文件和配 置ip的js文件 并且每次发布,还需要手动去修改配置文件里面的版本号,这样十分的繁琐。因此该小程序实现对同一个war包进行自动替换里面的配置和js文件加入相关的版本号, 生...

weixin_30409849的博客 526

Prompt进阶2:LangGPT(构建高性能Prompt策略和技巧)--最佳实践指南

Prompt进阶2:LangGPT(构建高性能Prompt策略和技巧)--最佳实践指南

丨汀、的博客 2650

springboot 配置tomcat部署项目

前言: springboot部署项目有两种: 1、使用内置tomcat,打成jar包,发布到线上即可。 2、使用外置tomcat,打成war包,线上需要另外tomcat把war包放在tomcat目录下才能运行 一、使用springboot内置tomcat,打成jar包 1、tomcat是一个免费的、开放源码的Web应用服务器,作为中小型系统和并发访问用户不是很多的场合下被普遍使用。...

GSON的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IntelliJ IDEA Spring Boot 打成war包

IntelliJ IDEA Spring Boot 打成war包 Springboot由于使用内置tomact,建议打成jar方便一点,但在这里我着重讲的是Springboot打war包。 第一步:修改packaging为war包; 第二步:删除默认的tomact,这里有两种方式删除; (1).第一种方式: 注意:如果当前项目还需使用jsp,则...

m0_37981898的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SpringBoot在Intellij Idea中使用gradle打成war包部署到Tomcat

SpringBoot在Intellij Idea中使用gradle打成war包部署到Tomcat 导语:叶子写了一个SpringBoot在打成war包部署到Tomcat时,老是提示404错误,经过多次检查修正,终于可以运行在tomcat下了。 一、修改gradle.build文件的参数 添加如下配置 apply plugin: ‘war’ 修改依赖,将tomcat的依赖范围修改为providedR...

m0_38127869的博客 2276

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

springboot打成war包放入tomcat的webapps中启动成功,访问controller层报404,访问页面正常

这两天老大安排新活,让我这个深陷该bug的人换换口味,搭建一个springboot框架,能够简单实现Restful风格的接口。springboot之前用过,这来回差不多有一年没有接触过了。这次搭建就遇到好几个坑,不过也都算解决了,有环境的问题,也有代码的问题,这里记录一下方便以后参考。下面具体说说吧~ github项目地址:https://github.com/fenglizhang/Teleme...

万米高空的博客 1万+

Springboot项目的War包部署在tomcat上

Springboot项目的War包部署在tomcat上

米顾的博客 1307

项目部署到tomcat,项目访问路径配置

SpringBoot项目打成war包,部署到tomcat项目访问路径配置 对工程的部署一般是将工程的压缩文件放在tomcat安装的webapps下,然后启动bin目录下的startup.dat启动文件启动项目,然后通过输入http://localhost:8080/xx,或者通过ip/端口号/项目访问名访问(xx是部署时的应用工程的访问名字)。如果直接输入:http://localhost:8080访问的是tomcat的主页面,如何将http://hocalhost:8080设置成自己的工程访问路径呢?让我

weixin_45951843的博客 8859

SpringBoot打war包

1、 修改pom.xml文件,将项目打成war包 jar 2、修改pom.xml文件,将内嵌容器的依赖标记为provide org.springframework.boot spring-boot-starter-tomcat provided 提供一个SpringBootServletInitializer的子类,并覆盖其configure方法,完成初始化操作: public class S...

qq_40820382的博客 284

spring boot 打成war包 部署到第三方tomcat中

第一步:将spring-boot-start-web中的自带的tomcat去掉 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...

chunshih327007的博客 172

Tomcat基本环境变量配置以及war包运行

一,Tomcat基本环境变量配置 1.在配置tomcat之前需要配置好JDK的环境 。JDK配置可以参照博文《Windows环境下JDK安装与环境变量配置》 2.在Tomcat官网下载安装包Tomcat下载 3.安装包解压目录如图 4.打开系统变量 新增两个变量(变量值为 解压后tomcat的路径) 如图 CATALINA_BASE C:\apache-tomcat-9.0.16 CATALI...

ChengChengxn的博客 3659

SpringBoot项目快速打包与部署,War包⽅式打包部署与Jar包⽅式打包部署两种方式

虽然通过SpringBoot的内嵌tomcat可以直接打Jar包进行部署,但是有些服务器上已经配置好了Tomcat服务器,并且需要使用Tomcat服务器部署多个应用,此时需要我们把项目打包成War包的形式部署到服务器中。双击package进行打包,看到下方出现build success,证明打包成功,去target目录下查找jar文件。将打包好的jar包放到服务器中,注意备份之前的数据。回到服务器上,存储jar包的目录,使用命令启动服务。在重启服务时,先杀死旧的服务,可以使用。查看进程id,并使用。

LB_Wuyanzu的博客 912

springboot打Jar包和War包

一:打JAR包在工程的pom.xml中添加以下依赖&lt;build&gt;  &lt;plugins&gt;     &lt;plugin&gt;        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;        &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifact...

小小丶悟空 308

打成jar包_SpringBoot中打war包需要注意

最近在做一个项目,遇到了项目打成 war 包的一个问题,项目创建时选择的时 jar 包方式,后因项目部署要求,需要打成 war 包部署,遇到很多坑,在此做一下记录一、修改打包方式原:0.0.1-SNAPSHOTjar改后:0.0.1-SNAPSHOTwar二、排除内置 Tomcat原: org.springframework.boot spring-boot-starter-web改后...

weixin_42246401的博客 129
上一篇: HashMap,HashSet原理解析
下一篇: centeros7 命令ip addr,出现 io ,ens33,无ip地址的问题
HelloKittyn
博客等级 码龄10年 10粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值