tomcat 安装和优化

news2024/11/25 6:55:46

tomcatat

tomcat和http一样,都是用来处理动态页面的

tomcat也可以作为web服务器,开源的

php.php

tomcat.jsp

nginx.html

tomcat使用java代码写的程序,运行的是java的web服务程序

tomcat的特点和功能:

1、servlet容器:执行java servlet,服务端的Java程序,处理客户端http请求,以及响应。

2、jsp容器,javasever page 这是一种动态页面的技术,可以在html的页面里面嵌入Java代码。

3、自身也是一个http服务器

4、tomcat是一个轻量级的动态页面,高并发场景不适用

优化:tomcat自身的优化,以及系统的内核优化,jvm优化

servlet:

是java语言当中用来开发web应用程序的关键组件。

处理http请求,生成动态内容,以及响应客户端的请求。

处理http请求

生成动态内容

处理java的业务逻辑

会话管理,保持用户的状态信息,购物车同步,用户登录等。

也可以转发nginx的动态请求到数据库

jsp:

web应用程序的界面,这个界面的语言是用Java写的。

.jsp为结尾的文件。

tomcat的组件:

connector:负责对外接收和响应的请求,他是tomcat与客户端沟通的一个枢纽,监听端口接收外界请求。

端口默认是:8080

接收到了请求之后,传递给其他的组件进行处理,处理完成之后回到connector,再响应客户端。

container:负责处理业务逻辑,engin host context wrapper 四个功能能做成

engine:用来管理多个虚拟主机。一个service只有一个engine

host:一个host就是一个主机也可以叫站点,可以通过host,可以添加多个站点

context:一个context代表一个web应用

wrapper :封装器,负责处理最底层的逻辑。

service:对外提供web服务,包含connector和container

tomcat可以有多个service。每个service之间互相独立的

tomcat目录的作用:

1、bin 存放启动和关闭tomcat脚本的文件startup.sh shutdow.sh

2、conf 存放tomcat的主配置文件,server.xml主配置文件

context.xml: host的默认配置信息,

tomcat-user.xm!: 登录时认证用户和密码的相关信息,manager文件必须要赋权之后才能打开

lib:tomcat运行时需要的jar包,一般不动

logs: 日志文件,catalina.out 主日志文件。

temp:部署web应用的目录,类似与nginx的heml。

1

[root@test4 opt]# systemctl stop firewalld
[root@test4 opt]# setenforce 0
[root@test4 opt]# rz -E
rz waiting to receive.
[root@test4 opt]# rz -E
rz waiting to receive.
[root@test4 opt]# ls
apache-tomcat-9.0.16.tar.gz  date  disk.sh  jdk-8u201-linux-x64.rpm
[root@test4 opt]# rpm -ivh jdk-8u201-linux-x64.rpm 
警告:jdk-8u201-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]
Unpacking JAR files...
    tools.jar...
    plugin.jar...
    javaws.jar...
    deploy.jar...
    rt.jar...
    jsse.jar...
    charsets.jar...
    localedata.jar...
[root@test4 opt]# ls
apache-tomcat-9.0.16.tar.gz  date  disk.sh  jdk-8u201-linux-x64.rpm
[root@test4 opt]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@test4 opt]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
​
[root@test4 opt]# source /etc/profile.d/java.sh 
[root@test4 opt]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@test4 opt]# tar -xf apache-tomcat-9.0.16.tar.gz 
[root@test4 opt]# mv apache-tomcat-9.0.16 tomcat
[root@test4 opt]# mv tomcat/ /usr/local/
[root@test4 opt]# cd /usr/local/
[root@test4 local]# cd tomcat/
[root@test4 tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@test4 tomcat]# cd bin/
[root@test4 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@test4 bin]# netstat -antp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      12782/java  

访问地址192.168.65.40:8080

[root@test4 tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@test4 tomcat]# cd bin
[root@test4 bin]# ./shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@test4 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@test4 bin]# netstat -antp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      13758/java          
tcp6       0      0 ::1:48510               ::1:8080                TIME_WAIT   -    

配置tomcat的虚拟主机

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

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

相关文章

【笔记】TimEP Safety Mechanisms方法论

1.TimEPM Overview 三大监控方法: Alive Supervision 实时监督Logical Supervision 逻辑监督Deadline Supervision 限时监督相关模块框图: 相关模块调用框图: 每个MCU核开启内狗(1核1狗),内狗用于监控相应核的TASK超时,超时后软reset MCU内狗时钟需要独立于OS时钟,两…

22_嵌入式微处理器

目录 嵌入式微处理器分类 嵌入式硬件结构 嵌入式微处理器的分类 典型8位微处理器 8位微处理器结构 8051单片机的硬件组成 8051单片机的引脚 时钟电路 MCS-51指令集 典型16位微处理器 16位微处理器结构 MSP430单片机硬件结构 典型32位微处理器 32位微处理器特点 A…

误删分区后的数据拯救:双管齐下恢复策略

在数字化时代,数据的价值日益凸显,而误删分区作为常见的数据安全威胁之一,常常让用户措手不及。本文将深入探讨误删分区的现象,并为您揭示两种高效的数据恢复方案,旨在帮助您在最短时间内找回失去的数据,同…

C++学习笔记二

一、常量 1.用const关键字声明常量变量 const常量变量在定义时必须进行初始化,并且不能通过赋值来改其值 const double gravity { 9.8 }; //首选在类型之前使用const int const sidesInSquare { 4 }; // “east const”风格,可以,但不是首…

小程序分包加载、独立分包、分包预加载等

一、小程序分包加载 小程序的代码通常是由许多页面、组件以及资源等组成,随着小程序功能的增加,代码量也会逐渐增加, 体积过大就会导致用户打开速度变慢,影响用户的使用体验。分包加载是一种小程序优化技术。将小程序不同功能的代…

SpringBoot整合Dubbo的快速使用教程

目录 一、什么是Dubbo? 二、SpringBoot整合Dubbo 1、父工程引入依赖 2、各个Dubbo服务子模块引入依赖 3、服务提供者 (1)启动类添加注解EnableDubbo (2)服务类添加注解DubboService (3)配置文件…

class类和style内联样式的绑定

这里的绑定其实就是v-bind的绑定,如代码所示,div后面的引号就是v-bind绑定,然后大括号将整个对象括起来,对象内先是属性,属性后接的是变量,这个变量是定义在script中的,后通过这个变量&#xff…

数据库国产化之路(一)

数据库国产化之路(一) 1、前言:适配海量数据库过程中的一些记录,备忘用 2、海量数据库基于的pg版本,查看PG_VERSION文件为9.2。 3、MySQL中的IF函数替代,一开始的方案是从网上找了个if函数,后来发现CASE WHEN其实能完成…

【c语言】轻松拿捏自定义类型

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C语言 目录 前言 一、结构体 1.结构体类型的定义和使用 1.1 结构体类型声明 1.2 结构体变量的创建和初始化 1.3 结构体变量成员的访问 1.4 结构体的特殊声…

[深度学习]卷积理解

单通道卷积 看这个的可视化就很好理解了 https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 多通道卷积 当输入有多个通道时,卷积核需要拥有相同的通道数. 假设输入有c个通道,那么卷积核的每个通道分别于相应的输入数据通道进行卷积,然后将得到的特征图对…

tinyshop商城学习

1、使用badboy屏幕录制工具,获得服装购物业务的结果,生成.jmx文件 2、在JMeter中新建线程组,导入.jmx文件 3、完成进入商城,登录,服装页面进入,随机选择服装,添加购物车,开始结算&…

Qt扫盲-QRect矩形描述类

QRect矩形描述总结 一、概述二、常用函数1. 移动类2. 属性函数3. 判断4. 比较计算 三、渲染三、坐标 一、概述 QRect类使用整数精度在平面中定义一个矩形。在绘图的时候经常使用,作为一个二维的参数描述类。 一个矩形主要有两个重要属性,一个是坐标&am…

6款天花板级的国产BI大盘点

以下是六款天花板级的国产BI工具的盘点,包括奥威BI、帆软BI、思迈特BI、永洪BI、观远BI和亿信华辰BI。这些工具各有其独特的优点和擅长的领域。 1. 奥威BI 优点: 无缝对接ERP系统:与金蝶、用友等全版本ERP系统无缝对接,方便用户…

软件游戏d3dcompiler_43.dll丢失怎么办,总结几种有效的方法

在使用电脑时,可能会碰到找不到d3dcompiler_43.dll的问题。即在使用过程中,突然弹出一个提示“d3dcompiler_43.dll丢失”,由于此文件的缺失,部分程序将无法启动。为恢复正常使用,我们需要修复此文件。接下来&#xff0…

el-table封装点击列筛选行数据功能,支持筛选,搜索,排序功能

数据少的话&#xff0c;可以前端实现&#xff0c;如果多的话&#xff0c;建议还是请求接口比较合理父组件&#xff1a; <template> <div class"home"> <!-- <img alt"Vue logo" src"../assets/logo.png"> <HelloWorld …

Spring源码十一:事件驱动

上一篇Spring源码十&#xff1a;BeanPostProcess中&#xff0c;我们介绍了BeanPostProcessor是Spring框架提供的一个强大工具&#xff0c;它允许我们开发者在Bean的生命周期中的特定点进行自定义操作。通过实现BeanPostProcessor接口&#xff0c;开发者可以插入自己的逻辑&…

ServiceImpl中的参数封装为Map到Mapper.java中查询

ServiceImpl中的参数封装为Map到Mapper.java中查询&#xff0c;可以直接从map中获取到key对应的value

吴恩达机器学习作业ex7:K 均值聚类和主成分分析(Python实现)详细注释

文章目录 1 K 均值聚类1.1 实施 K-means1.1.1 寻找最近的中心点1.1.2 计算中心点均值 1.2 示例数据集上的 K-means1.3 随机初始化1.4 用 K-means 压缩图像1.4.1 对像素进行 K 均值分析 2 主成分分析2.1 样例数据集2.3 利用 PCA 降低维度2.3.1 将数据投影到主成分上2.3.2 重建数…

满足GMSL静电防护要求的方案

什么是GMSL&#xff1f;它是做什么用的&#xff1f;它有什么优点&#xff1f;设计GMSL防静电有啥难度&#xff1f; 带着这些疑问我们先了解下什么是GMSL。 一&#xff0e;简述 GMSL GMSL&#xff08;Gigabit Multimedia Serial Link&#xff09;即千兆多媒体串行链路&#xf…

vs code 波浪线报错

这种红色波浪线的 VS code 报错&#xff0c;之前我都是直接忽略&#xff0c;因为不影响运行&#xff0c;但是我看着就很闹心想要给它去掉。 明明这个module 在啊&#xff0c;为啥一直报错 Cannot find module 今天知道原因了&#xff1a; 为了图方便&#xff0c;我 的 VS …