tomcat学习--部署java项目

  • 主流开发项目,springboot框架下,jar部署java
  • 传统的tomcat发布war包

一 什么是tomcat?

是一个用于运行java程序的软件,发布的时候:开发将源码使用maven打包,生产war包

二 安装tomcat

tomcat是java写的,必须有java环境,安装jdk

参考这篇文章安装 jdk安装

2.1 部署tomcat

根据这篇文章下载需要的版本 tomcat下载教程

tar -xzvf apache-tomcat-9.0.84.tar.gz -C /usr/local
cd /usr/local/apache-tomcat-9.0.84/bin
./version.sh        #测试脚本,测试能否正常运行,jdk安装是否正常

2.2 启动tomcat,登入查看是否正常访问

/usr/local/apache-tomcat-9.0.84/bin/startup.sh
netstat -tunlp|grep java  #查看是否启动成功

访问192.168.10.152:8080(tomcat的默认端口8080) 

三 tomcat认证账户密码

tomcat 的四个重要配置文件

  1. bin 存放tomcat脚本,启停脚本
  2. conf tomcat的配置文件
  3. logs 存放tomcat的运行日志
  4. webapps war包丢这里

3.1 修改配置文件,加入账号密码验证,并测试(tomcat9版本需要修改两处配置文件,其余版本只需要直接修改user配置文件)

 vim /usr/local/apache-tomcat-9.0.84/conf/tomcat-users.xml###如图添加一下信息####
<role rolename="manager-gui"/><role rolename="admin-gui"/><user username="tomcat" password="123456" roles="manager-gui,admin-gui"/>

 重启tomcat,然后使用账号登录tomcat

!!!!这里发现报错,查询原因是tomcat9版本以上还要修改另外一个配置文件tomcat9进行账号密码认证

四 tomcat部署java项目-开发直接给war的方式

4.1 准备java项目的war包

mv jpress.war /usr/local/apache-tomcat-9.0.84/webapps

 

当出现jpress目录,即可访问ip:8080/jpress即可,这里只是模拟部署java项目,数据库暂时不做演示

五 拓展maven部署java项目-开发直接给源码的方式 

配置jdk环境、安装maven工具,并配置环境变量

git clone 源码,进入目录  mvn clean package

要么使用开发写好的脚本启动,要么就是 java -jar XXX.jar

六 拓展

一个实例=二进制命令(/bin  /lib) + 其他数据目录

单机多实例:解压成不同名称的目录  或者 二进制命令一致,后续的其他数据目录 mv 实例1 实例2

nginx + 多机单实例:nginx 设置 负载均衡池 upstream + location处使用 poxypass做反向代理

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

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

相关文章

前端Vue自定义个性化导航栏菜单组件的设计与实现

摘要&#xff1a; 随着前端技术的飞速发展和业务场景的日益复杂&#xff0c;组件化开发已成为提升开发效率和降低维护成本的关键手段。本文将以Vue uni-app平台为例&#xff0c;介绍如何通过自定义导航栏菜单组件&#xff0c;实现业务逻辑与界面展示的解耦&#xff0c;以及如何…

算法——链表

一、重新排队——蓝桥杯3255 1.2题解 思路 对1-n的数字进行m次操作得到的结果&#xff08;每次移动的是x&#xff09; 代码 #include <iostream> using namespace std; int main() {// 请在此输入您的代码int n,m;cin>>n>>m;int i1;int a[m][3];for(i;i…

应用层协议HTTP与HTTPS

HTTP与HTTPS的介绍 HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;和HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff0c;超文本传输安全协议&#xff09;都是用于在Web上传输数据的协议&#xff0c;但它们之间存在一些重要…

[测试开发]如何让IDEA实时显示内存

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

这几个素材网站,是B站up主的剪辑素材宝藏库!

1.Videvo 这是一个提供完全免费的视频的网站&#xff0c;主要收集互联网免费的视频片段 网站目前收录了超过2700部高清短片&#xff0c;并且每周都会更新 2.电影预告片资源网——预告片世界 预告片世界是一个个人网站&#xff0c;为粉丝提供最新的高清电影预告片资源的在线观…

08- Redis 中的 GEO 数据类型和应用场景

1. 介绍 Redis GEO 是 Redis 3.2 版本新增的数据类型&#xff0c;主要用于存储地理位置信息&#xff0c;并对存储的信息进行操作。 在日常生活中&#xff0c;我们越来越依赖搜索“附近的餐馆”、在打车软件上叫车&#xff0c;这些都离不开基于位置信息服务&#xff08;Locati…

【Go】Swagger v2 转 OpenApi v3 CLI - swag2op

写这个工具的原因&#xff0c;也是受万俊峰老师的启发&#xff0c;他把工作中重复的事情&#xff0c;整合到一个工具&#xff0c;然后开源&#xff0c;这件事很赞。 swag2op 在 【Go】Go Swagger 生成和转 openapi 3.0.3 这篇文档&#xff0c;主要是对 swagger 如何生成&#…

第十六节 huggingface的trainner的_inner_training_loop函数源码解读(step)

文章目录 前言一、完整源码呈现1、内循环运行前参数2、step内循环训练源码二、训练step训练源码解读1、step内循环开始2、_load_rng_state状态载入3、跳过当前epoch的已迭代step4、累计梯度状态记录(self.control)5、模型训练(self.training_step(model, inputs))累计梯度训练…

油封制品中各种橡胶材料的差异

在机械系统中&#xff0c;油封起着关键的作用&#xff0c;其主要功能是防止润滑剂泄漏和污染物进入。油封的性能很大程度上取决于所用的橡胶材料。不同的橡胶化合物各有其独特的特性、优点和应用场景。本文将详细探讨油封制品中各种橡胶材料的差异&#xff0c;重点分析其特性、…

金蝶云星空数据库迁移后,显示 error: 40 - 无法打开到 SQL Server 的连接的解决方法

原因&#xff1a;数据库迁移/或者更新IP后&#xff0c;与之前添加的数据库地址不一致导致无法连接数据库&#xff1b; 解决方法&#xff1a;修改IP为目前数据库的IP&#xff1b; 文件路径&#xff1a;在ManageSite\APP_Data\Common.config中&#xff0c;修改DbServerInstance…

笔记90:C++中sort函数的使用

函数原型&#xff1a;sort ( iterator beg , iterator end , _Pred ) a a 参数介绍&#xff1a; beg&#xff1a;起始迭代器end&#xff1a;终止迭代器Pred&#xff1a;谓词&#xff08;如果不给&#xff0c;默认使用 less<int>() 作为谓词&#xff0c;排序方式为从小到大…

windows系统电脑外插键盘驱动出现感叹号或者显示未知设备,键盘无法输入的解决办法

笔记本外插的键盘不能用&#xff0c;鼠标可以使用。 查找故障&#xff0c;结果打开设备管理器看到键盘那项里是一个的黄色惊叹号显示未知设备&#xff01;[图片]如下图所示 其实解决办法很简单&#xff0c;不要相信网上的一些博主说删除什么注册表&#xff0c;我开始跟着他们操…

[每日一练]按日期分组销售产品的最优解法

该题目来自于力扣的pandas题库&#xff0c;链接如下&#xff1a; 1484. 按日期分组销售产品 - 力扣&#xff08;LeetCode&#xff09; 题目要求&#xff1a; 表 Activities&#xff1a; ---------------------- | 列名 | 类型 | ---------------------- | sell_…

Jetpack架构组件_5.BindingAdapter

1.BindingAdapter介绍 Binding adapters 可以作为一个设置某个值的框架来使用&#xff0c;databinding 库可以允许指定具体的方法来进行相关值的设置&#xff0c;在该方法中可以做一些处理逻辑&#xff0c;Binding adapters 会最终给你想要的结果。Android Databinding框架中已…

embedding模型API启动

Embedding模型API启动 针对一些需要使用api调用的大模型框架&#xff08;如fastGPT&#xff09;&#xff0c;可以用该方法启动Embedding模型 环境问题不过多赘述&#xff0c;代码如下 import uvicorn from pydantic import BaseModel # , Field from fastapi.middleware.co…

创建一个乘法练习题生成器 using Java

在教育软件和家庭学习辅助工具中&#xff0c;自动生成练习题是一种常见的需求&#xff0c;它能够帮助学生通过大量练习来巩固数学基础概念。本文将介绍如何使用Java编程语言创建一个简单的乘法练习题生成器&#xff0c;该程序不仅能够随机生成乘法题目&#xff0c;还能保证输出…

【本地运行chatgpt-web】启动前端项目和service服务端项目,也是使用nodejs进行开发的。两个都运行成功才可以使用!

1&#xff0c;启动web界面 https://github.com/Chanzhaoyu/chatgpt-web#node https://nodejs.org/en/download/package-manager # 使用nvm 安装最新的 20 版本。 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source /root/.bashrc n…

自力更生:0依赖三方库,手把手教你打造专属C++测试框架

前言&#xff1a; 当人们谈到测试框架的时候&#xff0c;首先想到的就是 google 的 gtest&#xff0c; 想着怎么在代码中集成 gtest 的框架&#xff0c;来实现自身代码的测试。 然后就巴拉巴拉的费了老大劲将 gtest 嵌入到自己的代码中来。 诚然&#xff0c;在自身程序接口稳…

huggingface的self.state与self.control来源(TrainerState与TrainerControl)

文章目录 前言一、huggingface的trainer的self.state与self.control初始化调用二、TrainerState源码解读(self.state)1、huggingface中self.state初始化参数2、TrainerState类的Demo 三、TrainerControl源码解读(self.control)总结 前言 在 Hugging Face 中&#xff0c;self.s…

C语言实现十进制转任意进制(详解)

主要思路&#xff1a;运用一个数组&#xff0c;通过数字每次取任意进制模&#xff0c;存在数组中&#xff0c; 再通过倒取数组中的数值&#xff0c;来实现进制转换&#xff0c;如果遇到十六进制&#xff0c;利用ASCII码值 数字字符和大写字母 相差55的特性来解决 int main() {…