【Spring】Tomcat服务器部署

news2024/11/14 8:25:23

       📝个人主页:五敷有你      
 🔥系列专栏:Spring

⛺️稳中求进,晒太阳

单体项目部署

本地工作

项目在本地开发完毕之后进行一些必要参数的修改。

比如:

  • 数据库的JDBC的配置文件,还有前端页面的localhost,
  • 需要注明的是,后端的localhost在服务器的运行时,是会被解析成主机IP地址的,但前端的页面不会所以要将前端页面的地址也进行修改,还有后端的图片要上传的服务器的地址也需要修改一下。

Maven的单体Web项目的部署比较简单。

clear掉targer后打成war包

拿到war包的地址。

服务器工作

rz 命令上传文件

切换到Tomcat的webapps目录,之后rz 上传文件

上传到Tomcat之后,因为我这个时候Tomcat是启动状态,所以会自动解析war包,然后生成运行文件夹。(如果没有就关闭Tomcat重启)

之后如果正常的访问的话就部署成功了。

这么简单?NO no no...

但是有一个问题,就是你原来如果图省事,将访问的路径设置为 / 那么,就有点麻烦了。

        你要知道   在本地环境中设置了应用程序的上下文路径为 /,这意味着你可以直接通过服务器的根路径来访问应用程序。但是当你将 WAR 文件上传到云服务器时,情况可能有所不同。

        主要是 前端的资源路径,原来在本地的情况是你可以通过根路径直接访问,但由于传到服务器就多了一层pet路径,但是默认前端的静态资源路径是写死的

        页面之所以能访问到是因为这个是请求后端进行视图跳转的。

        前端的所有直接请求都差了一层/pet的资源都直接拿不到

解决方法:

将Pet改成 ROOT ,tomcat下ROOT目录会被默认访问,这样就不会再有拿不到资源的情况了。

聚合项目的部署

直接复制两个tomcat         

理解简单,参数修该复制,在我努力找原因的情况下,最终还是失败了,一个启动另外一个就是停止运行,莫名其妙极了。可能有资源的竞争

在一个webapp里直接上传

前提是你本地也是一个端口,然后不同的模块用的路径名称不同

在一个tomcat里面配置多个webapp

这个还是通过实测是可以的。

服务器不好观察,就在window本地看一下,一模一样。

先复制webapps的目录文件

cp -fr webapps webapps1

再复制Catalina命名为Catalina

cp -fr Catalina  Catalina1

 

 之后进入conf/sever.xml,进行修改 复制一份service(注意看,不是sever),然后粘贴到下面 

修改这几个地方

  •  <Service name="Catalina1">
  • <Connector port="80" protocol="HTTP/1.1"
  •   <Engine name="Catalina1" defaultHost="localhost">
  •  <Host name="localhost"  appBase="webapps1"

把项目放入webapps 们里面吧,结束。

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

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

相关文章

(2024,低比特模型量化,模型微调,QuEST,TAQuant)QuEST:通过高效选择性微调进行低比特扩散模型量化

QuEST: Low-bit Diffusion Model Quantization via Efficient Selective Finetuning 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 相关工作 3. 方法 3.1. 预备知识 3…

创建一个VUE项目(vue2和vue3)

背景&#xff1a;电脑已经安装完vue2和vue3环境 一台Mac同时安装vue2和vue3 https://blog.csdn.net/c103363/article/details/136059783 创建vue2项目 vue init webpack "项目名称"创建vue3项目 vue create "项目名称"

防静电地板行业研究:市场需求不断的扩大

防静电地板又叫做耗散静电地板&#xff0c;是一种地板&#xff0c;当它接地或连接到任何较低电位点时&#xff0c;使电荷能够耗散&#xff0c;以电阻在10的5次方到10的9次方欧姆之间为特征。 目前防静电地板产业还没有集中完成规模化&#xff0c;标准化&#xff0c;规范化&…

leetCode二叉树的堂兄弟节点

题目描述 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子节点位于深度 k1 处。 如果二叉树的两个节点深度相同&#xff0c;但 父节点不同 &#xff0c;则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root &#xff0c;以…

(十七)springboot实战——spring securtity的授权流程源码解析

前言 本节内容是关于spring security安全框架授权流程的源码分析&#xff0c;spring security的授权流程主要是在FilterSecurityInterceptor过滤器中实现的。我们会通过源码层级的分析&#xff0c;了解清楚spring security的底层是如何实现用户授权的。 正文 1.配置一个请求…

AdaBoost算法

Boosting是一种集成学习方法&#xff0c;AdaBoost是Boosting算法中的一种具体实现。 Boosting方法的核心思想在于将多个弱分类器组合成一个强分类器。这些弱分类器通常是简单的模型&#xff0c;比如决策树&#xff0c;它们在训练过程中的错误会被后续的弱分类器所修正。Boosti…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Span组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Span组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Span组件 鸿蒙&#xff08;HarmonyOS&#xff09;作为Text组件的子组件&#xff0…

数模.matlab画图

一、mesh函数 上图是平常用到的方式 例题&#xff1a; 上图的meshgrid函数相当于上上图的前三个指令&#xff08;temp&#xff0c;x,y&#xff09; mash函数&#xff1a; mashc函数&#xff1a; mashz函数&#xff1a; 上图subplot函数的作用是将下标为index的图片放到对应的x&…

寒假作业-day6

简易QQ界面 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setWindowIcon(QIcon(":/tu/qq.png"));this->setWindowTitle("登录&qu…

第6章——深度学习入门(鱼书)

第6章 与学习相关的技巧 本章将介绍神经网络的学习中的一些重要观点&#xff0c;主题涉及 寻找最优权重参数的最优化方法、权重参数的初始值、超参数的设定方法 等。此外&#xff0c;为了应对过拟合&#xff0c;本章还将介绍 权值衰减、Dropout等正则化方法&#xff0c;并进行实…

不必为发“压岁钱”或“红包”烦恼

中国人的民俗——过年要发“压岁钱”&#xff0c;也称发“ 红包 ”&#xff0c;时间确定在除夕夜12点正。因为按照传统观念&#xff0c;除夕夜是阴阳交替重要时刻&#xff1b;发“压岁钱”&#xff0c;也代表着辟邪驱鬼、保佑平安。“岁”字的谐音“祟”&#xff0c;即灾祸&…

Page 251~254 Win32 GUI项目,第二次分析

11行&#xff0c;本程序要创建的窗口的窗口过程(回调函数)&#xff0c;就是窗口用于处理消息的过程&#xff0c;返回值的类型是一个宏定义&#xff0c;即LRESULT&#xff0c;当操作系统分派消息给本窗口时&#xff0c;回调此函数&#xff0c;处理消息。 14行&#xff0c;使用全…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之ScrollBar组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、ScrollBar组件 鸿蒙&#xff08;HarmonyOS&#xff09;滚动条组件ScrollBar&…

常见的ANSI转义码

ANSI 转义码是一组控制码&#xff0c;用于在文本中添加格式化和颜色。这些码以 ESC&#xff08;Escape&#xff09;字符为开头&#xff0c;通常是 \x1b&#xff0c;后面紧跟着一系列参数和指令。在 ANSI 标准中&#xff0c;这些码通常用于控制终端的文本输出。 下面是一些常见…

20240207大盘数据分析

先上图&#xff1a; 图1&#xff0c;涨跌分布 图1 涨跌数量分布 图2 各大指数涨跌分布 数据分析一下&#xff1a; 上证指数和深证指数是很宽的综合指数&#xff0c;上证指数有2162个上交所股票。深证指数有500个深交所股票。这两目前没有纳入救市范围。 比较有特点的是 上…

6个好看的wordpress模板

简站wordpress服务业通用主题 2023年立秋纪念版&#xff0c;简站wordpress服务行业通用主题&#xff0c;适合服务行业企业官网使用。 https://www.jianzhanpress.com/?p5393 小语种翻译wordpress主题 小语种国家外贸网站建设需要的wordpress主题模板&#xff0c;适合做小语…

使用异步命名管道通信的实例

记录一个使用异步命名管道通信的实例。代码参考了 MSDN 的文档&#xff1a;使用完成例程的命名管道服务器 - Win32 apps | Microsoft Learn。 服务端代码 #include <windows.h> #include <stdio.h> #include <tchar.h> #include <strsafe.h>#define…

相机图像质量研究(5)常见问题总结:光学结构对成像的影响--景深

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

ansible shell模块 可以用来使用shell 命令 支持管道符 shell 模块和 command 模块的区别

这里写目录标题 说明shell模块用法shell 模块和 command 模块的区别 说明 shell模块可以在远程主机上调用shell解释器运行命令&#xff0c;支持shell的各种功能&#xff0c;例如管道等 shell模块用法 ansible slave -m shell -a cat /etc/passwd | grep root # 可以使用管道…

Git中为常用指令配置别名

目录 1 前言 2 具体操作 2.1 创建.bashrc文件 2.2 添加指令 2.3 使其生效 2.4 测试 1 前言 在Git中有一些常用指令比较长&#xff0c;当我们直接输入&#xff0c;不仅费时费力&#xff0c;还容易出错。这时候&#xff0c;如果能给其取个简短的别名&#xff0c;那么事情就…