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脚本文件中。
相关文章:
tomcat应用的作用以及安装,以及tomcat软件的开机自启动。
一.tomcat介绍 1.作用 tomcat是一款用来部署网站服务器的一款软件。 动态网站主流语言: PHP, lamp/lnmp平台 Java语言,运行在tomcat平台。【只要这个网站或者软件是Java语言写的,我们都可以在tomcat平台上去运行这个java程序。】 网站是…...
Unity中WolrdSpace下的UI展示在上层
一、问题描述 Unity 中 Canvas使用World Space布局的UI,想让它不被3d物体遮挡,始终显示在上层。 二、解决方案 使用shader解决 在 UI 的材质中禁用深度测试(ZTest),强制 UI 始终渲染在最上层。 Shader "Custo…...
postgresql 数据库使用
目录 索引 查看索引 创建 删除索引 修改数据库时区 索引 查看索引 select * from pg_indexes where tablenamet_table_data; 或者 select * from pg_statio_all_indexes where relnamet_table_data; 创建 CREATE INDEX ix_table_data_time ON t_table_data (id, crea…...
Redis的缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
一、缓存雪崩: 1、什么是缓存雪崩: 如果缓在某一个时刻出现大规模的key失效,那么就会导致大量的请求打在了数据库上面,导致数据库压力巨大,如果在高并发的情况下,可能瞬间就会导致数据库宕机。这时候如果…...
【SpringMVC】常用注解:@RequestParam
1.作用 如果控制器标注的方法的参数名称与前端传递过来的参数名称不一致,使得SpringMVC无法自动启动,那么我们可以使用该注解实现前后端参数的绑定。 2.相关属性 value/name:这两个属性都是一个作用,都是描述参数的名称&#x…...
JVM垃圾收集器相关面试题(1)
垃圾收集与内存管理摘要 一.核心垃圾收集算法对比 算法原理优点缺点适用场景标记-清除两次遍历(标记存活对象→清除未标记对象)实现简单内存碎片化、双遍历效率低老年代(结合整理)标记-复制内存对半分,存活对象复制到…...
详解SQL数据查询功能
数据查询 一、 单表查询1. 选择表中的若干列2. 选择表中的若干元组3. ORDER BY 子句4. 聚合函数5. GROUP BY 子句6. LIMIT 子句综合示例: 二、 多表查询1. 等值连接查询 (Equi-Join)2. 非等值连接查询 (Non-Equi Join)3. 自然连接查询 (Natural Join)4. 复合条件连接…...
车载以太网测试-11【网络层-ICMP协议】
目录 1 摘要2 ICMP协议帧结构2.1 IP头部2.2 ICMP头部2.3 ICMP数据部分2.4 示例:ICMP回显请求(Ping请求) 3 ICMP协议在车载以太网的应用3.1 为什么需要ICMP?3.1.1 网络连通性测试3.1.2 错误报告3.1.3 网络性能监测3.1.4 路径MTU发现…...
leetcode:728. 自除数(python3解法)
难度:简单 自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 0,128 % 2 0,128 % 8 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表ÿ…...
【QT】-一文读懂抽象类
抽象类(Abstract Class)是面向对象编程中的一个概念,指的是无法被实例化的类,它通常作为其他类的基类。抽象类的作用是定义一个接口(或约定),让派生类(继承自抽象类的类)来实现具体的功能。 抽象类的特点: 包含纯虚函数(Pure Virtual Function): 抽象类通常包含一…...
vue3-computed计算属性和reactive响应式系统结合使用
1.前言 vue3中使用reactive函数创建一个响应式对象,当对象数据发生变化的时候,依赖这些数据的计算属性和模板会自动的更新。 2.实例 2.1 简写 <template><div><p>用户名: {{ userName }}</p><p>用户名的大写形式: {{ u…...
Dubbo请求调用本地服务
文章目录 前言配置 Dubbo 本地调用方法一:application.yml 中配置方法二:DubboReference 注解中指定 注意个人简介 前言 在微服务架构中,Apache Dubbo 作为一款高性能、轻量级的 RPC 框架,被广泛应用于分布式系统。通常ÿ…...
Pycharm 社区版安装教程
找到安装包双击安装文件---点击下一步 一般路径是:C:\Rambo\Software\Development 选择完成后就是如下地址: C:\Rambo\Software\Development\PyCharm Community Edition 2024.3.3 点击上述3个位置就可以了----下一步 等待安装就可以了---完成后点击完成…...
Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组
Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组 前言一、用户和组概念用户类型对比表格主要组和补充组对比表格: 二、本地用户账户增删改查三、本地组账户 前言 上篇博客我们详细了解了从红帽和 DNF 软件仓库下载…...
在虚拟环境里面配置Linux系统
Linux系统有很多版本,常用的有Ubantu乌班图,和CentOS 不同的版本在使用的时候,有部分执行方式的不同 安装的流程都一样 首先,想要安装Ubantu,要去它的官网,找下载连接,然后下载iso后缀的安装…...
React开发指南:核心、实践与案例
文章目录 一、React核心架构与设计哲学1.1 虚拟DOM与Diff算法1.2 JSX编译原理1.3 组件化设计模式1.4 Fiber架构解析1.5 组件生命周期(类组件) 二、React核心特性详解2.1 数据流管理2.2 Hooks革命2.3 Context API进阶2.4 自定义Hooks设计模式 三、React 1…...
分享vue好用的pdf 工具实测
vue3-pdf-app: 带大纲,带分页,带缩放,带全屏,带打印,带下载,带旋转 下载依赖: yarn add vue3-pdf-appornpm install vue3-pdf-app 配置类: 创建文件 pdfConfig.ts /…...
Redis分布式锁深度剖析:从原理到Redisson实战,破解脑裂与高并发锁难题
一、📌 分布式锁的核心应用场景 场景类型典型案例风险说明🚀 高并发场景电商秒杀、票务抢购库存超卖风险⏰ 定时任务场景集群日志清理、数据统计任务重复执行🔄 幂等场景支付接口重试、订单创建资金重复扣款 二、🔧 Redis分布式锁…...
Markdown Poster – 免费Markdown转图片工具|优雅图文海报制作与社交媒体分享
Markdown Poster是什么 Markdown Poster 是一款高效的 Markdown 转图片工具,利用灵活编辑和实时预览功能帮助用户轻松制作优雅的图文海报。该工具内置丰富的海报模板和多种主题选项,支持导出为图片和 HTML 代码,适用于社交媒体分享、网站集成…...
掌握市场先机:9款销售渠道管理工具深度测评
本文主要介绍了以下9款销售渠道管理工具:1.纷享销客; 2.销帮帮; 3.小满CRM; 4.有赞; 5.Oracle NetSuite; 6.Salesforce Sales Cloud; 7.Cin7; 8.Pipedrive; 9.BigCommerc…...
OpenCV图像加权函数:addWeighted
1 addWeighted函数 在OpenCV 里,addWeighted 函数的作用是对两个图像进行加权求和,常用于图像融合、图像过渡等场景。函数如下: cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])2 参数解释 src1:第一个输入图…...
直方图(信息学奥赛一本通-1115)
【题目描述】 给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。假设 Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}里每个数出现的次数。 【输入】 第一行n是数组的大小。…...
docker桌面版启动redis,解决无法连接
docker run -d --name redis -p 6379:6379 -v E:\2\redis\redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf 在本地创建一个目录,里面有个redis.conf文件,内容如下,启动时绑定这个配置文件目…...
Scratch 3.0安装包,支持Win7/10/11、Mac电脑手机平板、少儿便编程的启蒙软件。
Scratch是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不使用键盘,就可以进行编程。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动指令模块到脚本区就可以…...
Java创造型模式之原型模式详解
设计模式是面向对象设计中的一种标准方法,用于解决常见的设计问题。原型设计模式(Prototype Pattern)是23种经典设计模式之一,属于创建型模式,它允许通过复制现有对象来创建新对象,而不是通过构造函数或工厂…...
JVM的各种细节
(1)JVM 核心结构(必须知道) 类加载器 负责将.class()文件加载到内存中,供 JVM 使用。 方法区 存储类元数据(类名、字段、方法)、常量池、静态变量等。 JDK 8:由元空间(Metaspace)…...
JavaScript基本知识
文章目录 一、JavaScript基础1.变量(重点)1-1 定义变量及赋值1-2 变量的命名规则和命名规范判断数据类型: 2.数据类型转换2-1 其他数据类型转成数值2-2 其他数据类型转成字符串2-3 其他数据类型转成布尔 3.函数3-1函数定义阶段3-2函数调用阶段…...
Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能
近日,Navicat 家族迎来了一位全新成员 — Navicat for Snowflake。Snowflake 是一款基于云架构的现代数据仓库解决方案,以其弹性扩展、高性能和易用性著称。这次首发的Navicat for Snowflake 专为简化 Snowflake 数据库管理任务而精心打造。它凭借其直观…...
pjsip 自定义获取和设置麦克风、扬声器
获取麦克风和扬声器列表结果Device ID: 0 Name: “Wave mapper” Input channels: 2 Output channels: 2 Default sample rate: 16000 Device ID: 1 Name: “麦克风 (USB Microphone)” Input channels: 2 Output channels: 0 Default sample rate: 16000 Device ID: 2 Name: “…...
C++ 左值(lvalue)和右值(rvalue)
在 C 中,左值(lvalue)和右值(rvalue)是指对象的不同类别,区分它们对于理解 C 中的表达式求值和资源管理非常重要,尤其在现代 C 中涉及到移动语义(Move Semantics)和完美转…...
