tomcat应用的作用以及安装,以及tomcat软件的开机自启动。

一.tomcat介绍

1.作用

tomcat是一款用来部署网站服务器的一款软件。

动态网站主流语言:

PHP, lamp/lnmp平台

Java语言,运行在tomcat平台。【只要这个网站或者软件是Java语言写的,我们都可以在tomcat平台上去运行这个java程序。】

网站是以java语言写出来的,文件都是以.jsp结尾的文件。

作用:java应用程序的中间件。

其他中间件介绍:

开源的中间件

tomcat,resin

商业的中间件

weblogical,websphere,

2.tomcat软件的特性

1.开源的,阿帕奇开源组织【tomcat.apache.org是tomcat软件的官网】

现在市面上主流使用的tomcat版本是tomcat8

2.跨平台的软件,

3.支持多实例的部署【在一台服务器上每新创建一个tomcat的实例都会启动一个tomcat的进程,在阿帕奇和nginx软件上不管是创建多少个虚拟主机,都是会有一个关于阿帕奇或者是nginx的进程。】

一套tomcat的进程就相当于是一套tomcat的实例。

MySQL数据库也支持多实例的工作方式。

启动多个tomcat实例,不同的实例运行不同的应用程序,节省资源。

也可以启动多个tomcat实例,在多个tomcat实例上运行同一个应用程序,随后运行nginx的upstream模块,实现这套应用程序在多个实例之间实现负载均衡。增加应用程序的访问速度,

4.支持https协议【支持部署加密网站】

二.安装部署tomcat【至少确保机器有1GB的空闲内存】

MySQL的中间件mycat也是Java的应用程序

1.首先安装java软件的运行环境,安装JDK1.8版本。

如上图所示,解压完jdk就算安装好了。

如上图所示,安装jdk的目的是为了提供一些运行java应用程序所必要的命令。

java用来运行java程序,javac用来编译java程序。

如上图所示,如果想要jdk能够正常工作我们就需要配置jdk相关的环境变量。

如上图所示,我们在/etc/profile文件中配置好想应的环境变量之后,source这个文件。使得环境变量生效。

如上图所示,随后我们去运行这条命令去验证jdk是否安装成功。

2.安装tomcat,【市面上主流使用的是tomcat8的版本】

如上图所示,官网为我们提供了二进制格式的安装包还有源码格式的安装包,

当我们去下载java应用程序的时候,大多选择二进制格式的安装包。

如上图所示,我们到Linux操作系统上去下载这个二进制格式的安装包。

如上图所示,解压完这个tar包就算安装好了tomcat,但是想要使用tomcat还需要给这个tomcat配置环境变量。

如上图所示,我们需要去配置这个环境变量。已指向tomcat的安装目录。

如上图所示,此时tomcat的环境变量配置成功并且生效。

如上图所示,在tomcat的目录下有tomcat的一些命令,或者说一些脚本。

如上图所示,我们可以去在tomcat目录下,去使用Catalina.sh脚本后面加上参数start 或者是参数stop来启动tomcat或者是关闭tomcat。

或者说我们使用startup.sh来启动tomcat,使用shutdown.sh来关闭tomcat软件。

如上图所示,这个conf目录下就是tomcat的一些配置文件了,

主配置文件就是server.xml文件

如上图所示,这个lib目录下保存的就是tomcat的一些库文件。但是对于Java程序来说,没有库文件的说法,而是把这些文件统称为jar包。

如上图所示,这是目录下保存的是tomcat的日志信息。

如上图所示,temp目录和work目录都是用来保存一些临时数据的,

而webapps就相当于是tomcat默认的网页目录一样。

3.tomcat目录结构介绍

4.启动tomcat

如上图所示,8080端口是用来表示tomcat程序的,

8005端口是用来表示这个tomcat实例的。

如上图所示,这是访问tomcat页面的效果。

5.如何设置tomcat开机自启

如上图所示,在这个脚本文件中的命令在机器开机的时候会自动执行这个文件中的内容。

如上图所示,我们在这个文件中添加上需要执行的命令

如上图所示,我们在给这个文件添加执行权限。

如上图所示,在机器重启之后,tomcat程序并没有按照我们期望的开机自启动。

如上图所示,必须要有这两个变量的存在,tomcat的相关脚本才能正常运行。

如上图所示,对于Linux操作系统来说执行脚本的顺序是先执行脚本rc.local,再执行脚本文件/etc/profile。

所以当Linux操作系统开机的时候,会先去执行tomcat软件的启动命令,随后再去执行脚本文件/etc/profile去加载java的相关环境变量。但是要想tomcat这个应用程序启动起来,必须要有相关的java变量,所以tomcat的开机自启才失败。

如上图所示,所以要想tomcat软件实现开机自启动的话,必须要把相应的java变量写在rc.loca脚本文件中。

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

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

相关文章

CSDN博客:Markdown编辑语法教程总结教程(下)

❤个人主页:折枝寄北的博客 Markdown编辑语法教程总结 前言1. LaTex数学公式2. 插入不同类别的图2.1 插入甘特图2.2 插入UML图2.3 插入Mermaid流程图2.4 插入Flowchart流程图2.5 插入classDiagram类图 3. CSDN快捷键4. 字体相关设置4.1 字体样式改变4.2 字体大小改变…

AI模型的构建过程是怎样的(下)

你好,我是舒旻。 上节课,我们讲了一个模型构建的前 2 个环节,模型设计和特征工程。今天,我们继续来讲模型构建的其他 3 个环节,说说模型训练、模型验证和模型融合中,算法工程师的具体工作内容,以及 AI 产品经理需要掌握的重点。 模型训练 模型训练是通过不断训练、验证…

K邻近算法

K邻近算法 1 算法介绍 1.1 什么是K-NN K-NN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。K-NN算法属于监督学习方式的分类算法,即计算某给点到每个点的距离作为相似度的反馈。简单…

晋升系列4:学习方法

每一个成功的人,都是从底层开始打怪,不断的总结经验,一步一步打上来的。在这个过程中需要坚持、总结方法论。 对一件事情长久坚持的人其实比较少,在坚持的人中,不断的总结优化的更少,所以最终达到高级别的…

LoRA,DoRA,RSLoRA,LoRA+ 是什么

LoRA,DoRA,RSLoRA,LoRA+ 是什么 一、LoRA(Low-Rank Adaptation,低秩适应) 核心原理:冻结预训练模型参数,仅在每层插入两个低秩矩阵(A∈R^{rd}, B∈R^{dr}),通过分解权重增量ΔW=BA近似全秩更新,参数量仅为全量微调的0.01%-1%。 举例:在GPT-2(774M参数)的注意力…

HTTP发送POST请求的两种方式

1、json String json HttpRequest.post(getUrl(method, "v1", url, userId, appKey)).header("Content-type", "application/json") // 设置请求头为 JSON 格式.body(JSONUtil.toJsonStr(params)) // 请求体为 JSON 字符串.execute().body(); …

TCP并发服务器

单循环服务器&#xff1a;服务器在同一时刻只能响应一个客户端的需求。 并发服务器&#xff1a;服务器在同一时刻可以响应多个客户端的需求。 构建TCP服务器的方法&#xff1a; IO多路复用的函数接口[select() poll() epoll()] 1.多进程实现TCP并发服务器 #include <s…

【大模型统一集成项目】如何封装多个大模型 API 调用

&#x1f31f; 在这系列文章中&#xff0c;我们将一起探索如何搭建一个支持大模型集成项目 NexLM 的开发过程&#xff0c;从 架构设计 到 代码实战&#xff0c;逐步搭建一个支持 多种大模型&#xff08;GPT-4、DeepSeek 等&#xff09; 的 一站式大模型集成与管理平台&#xff…

Linux基础开发工具—vim

目录 1、vim的概念 2、vim的常见模式 2.1 演示切换vim模式 3、vim命令模式常用操作 3.1 移动光标 3.2 删除文字 3.3 复制 3.4 替换 4、vim底行模式常用命令 4.1 查找字符 5、vim的配置文件 1、vim的概念 Vim全称是Vi IMproved&#xff0c;即说明它是Vi编辑器的增强…

数据结构与算法效率分析:时间复杂度与空间复杂度详解(C语言)

1. 算法效率 1.1 如何衡量一个算法的好坏&#xff1f; 在计算机程序设计中&#xff0c;衡量算法优劣的核心标准是效率。但效率不仅指运行速度&#xff0c;还需要综合以下因素&#xff1a; 时间因素&#xff1a;算法执行所需时间 空间因素&#xff1a;算法运行占用的内存空间…

使用arm嵌入式编译器+makefile编译管理keil项目

目录 # arm嵌入式编译器-知识 # arm嵌入式编译器-知识 --- arm嵌入式编译器&#xff08;百度云盘&#xff09;下载&#xff1a;arm嵌入式编译器 keil&#xff0c; 链接 提取码: 8a6c arm官方使用教程&#xff1a; Arm Compiler 6 User Guide linux 安装完了有个非常重要的一步…

SwiftUI学习笔记day1---Stanford lecture1

SwiftUI学习笔记day1—Stanford lecture1 课程链接&#xff1a;Lecture 1 | Stanford CS193p 2023课程大纲&#xff1a;代码仓库&#xff1a;github/iOS 文章目录 SwiftUI学习笔记day1---Stanford lecture11.在Xcode中创建一个swiftUI的工程2.简单认识Xcode这个IDE3.尝试理解示…

vanna+deepseekV3+streamlit本地化部署

文章目录 1、vanna介绍1.1、基本介绍1.2、工作原理1.3、优点 2、vannadeepseekV3mysqlstreamlit本地化部署2.1、创建conda环境&#xff0c;安装依赖2.2、Mysql数据准备2.3、新建pycharm项目2.4、封装deepseek大模型2.5、定义MyVanna2.6、构建streamlit的app2.7、app演示 1、van…

【LangChain接入阿里云百炼deepseek】

这是目录 前言阿里云百炼注册账号使用代码执行结果 前言 大模型爆火&#xff0c;现在很多教程在教怎么使用大模型来训练Agent智能体&#xff0c;但是大部分教程都是使用的OpenAI。 最近阿里云推出DeepSeek-R1满血版&#xff0c;新用户可享100万免费Token额度。 今天就教大家怎…

【优选算法】二分法(总结套路模板)

目录 1. 题目一 &#xff1a;二分查找 解题思路&#xff1a; 模板总结&#xff08;简单版&#xff0c;不适用所有情况&#xff09; 代码实现&#xff1a; 2. 题目二 解题思路&#xff1a; 模板总结&#xff08;几乎万能&#xff09; 代码实现&#xff1a; 3. 题目…

Qt开源控件库(qt-material-widgets)的编译及使用

项目简介 qt-material-widgets是一个基于 Qt 小部件的 Material Design 规范实现。 项目地址 项目地址&#xff1a;qt-material-widgets 本地构建环境 Win11 家庭中文版 VS2019 Qt5.15.2 (MSVC2019) 本地构建流程 克隆后的目录结构如图&#xff1a; 直接使用Qt Crea…

游戏引擎学习第147天

仓库:https://gitee.com/mrxiao_com/2d_game_3 上一集回顾 具体来说&#xff0c;我们通过隐式计算来解决问题&#xff0c;而不是像数字微分分析器那样逐步增加数据。我们已经涵盖了这个部分&#xff0c;并计划继续处理音量问题。不过&#xff0c;实际上我们现在不需要继续处理…

uni-app打包成H5使用相对路径

网上找了一圈&#xff0c;没用&#xff0c;各种试&#xff0c;终于给试出来了&#xff0c;主要是网络上的没有第二步&#xff0c;只有第一步&#xff0c;导致打包之后请求的路径没有带上域名 运行的基础路径设置为./ config.js文件里面的baseUrl路径改成空字符&#xff0c;千万…

知识社区:打破传统知识传播的壁垒

知识社区的诞生 当今&#xff0c;知识库的上传与下载已无法满足现代用户对知识获取的多样化需求。随着信息量的爆炸式增长和用户需求的日益复杂化&#xff0c;传统的、静态的知识库显得力不从心。用户渴望能够实时互动、即时反馈、多维度探索知识的平台。正是在这样的背景下&am…

洛谷 P5534 【XR-3】等差数列 python

这题不用向下取整//就会错&#xff0c;不太能理解为什么...感觉对结果好像没什么影响啊 a1, a2, n map(int,input().split()) d a2 - a1 an a1 d * (n-1) s (a1an)*n//2 print(s)