8月10日上课内容 Tomacat部署及优化

8月10日上课内容 Tomacat部署及优化_第1张图片

tomcat 开放源代码的web应用服务器。基于java代码开发的。

Tomcat介绍

tomcat就是处理动态请求和基于java代码的页面开发
可以在html当中写入java代码,tomcat可以解析html页面当中的java,执行动态请求,动态页面。
缺点是机制有问题:不对tomcat进行优化,会出现在:假死、停机。小集群,小服务,小应用适用于tomcat,大并发的场景不适合。

优点

1、免费

2、开源,可以二次封装。

3、可配置型强,可以根据需要进行自定义配置,包括端口号,虚拟主机,等等。

4、安全性: tommcat自带安全机制,可以配置用户认证、授权、加密传输

5、部署应用非常快捷: tocat会自动部署,自动运行.
webapps。

python node.js  javase
 

核心组件三个:

1、web容器:完成web服务器的功能,web应用

web----->http(s)-------访问页面--------->文件index.jsp

web容器中,封装了一组文件,在这一组文件之中,进行集中化管理。

web动态页面。

8月10日上课内容 Tomacat部署及优化_第2张图片

8月10日上课内容 Tomacat部署及优化_第3张图片

 

2、servlet容器:名字:catalina,处理servlet代码

就是处理web请求(http),以及生成动态内容的java类。

处理http请求。

3、jsp:jsp动态界面翻译成servlet代码,用标准格式,展示jsp的静态页面。

写好一个包,就把它上传到webapps下,重启服务即可。部署方便

8月10日上课内容 Tomacat部署及优化_第4张图片

 

servlet补充:

1、处理http请求

2、生成动态内容,为了和数据库交互------>用户发起的:jsp当中的

3、会话管理,跟踪用户在不同请求之间的状态,通过管理,可以在用户访问不同页面时保持用户的状态。

session

4、与数据库交互,servlet可以连接到数据库,执行查询和更新操作。这就是servlet能够生成动态内容的原因。

jsp:java server pages。动态页面的开发技术。使用jsp标签 index.jsp 在html页面中插入java代码。

jsp容器------->html页面当中的java代码翻译------>执行-------------->展示结果。

通常以<%,开头

           %>,结尾

8月10日上课内容 Tomacat部署及优化_第5张图片

 

java基本知识普及:

面向对象:编程范式。思想。客观存在的实体和他们之间的关系,映射到计算机程序当中。
计算机程序被组织成这一组相互作用的对象,每个对象都有数据(属性)和行为(方法)。

类:定义一组属性和方法
创建对象。实例。


封装:对象的属性和方法捆绑在一块,提供一个接口,可以让其他对象使用。
继承:一个类,可以继承另一个类 类 子类 子类可以重用父类的代码,而且还在不修改代码的情况下,进行扩展。
多态: 不同类的对象对相同的消息,做出不同的响应。

详解:

面向对象(Object-Oriented)是一种编程范式或思想,它在软件设计和开发中广泛应用。
面向对象编程(OOP)是一种将现实世界的实体(对象)和它们之间的关系映射到计算机程序中的方法。
在面向对象编程中,计算机程序被组织为一组相互作用的对象,每个对象都有数据(属性)和行为(方法)。

关键概念和特性包括:

类和对象(Objects and Classes):类是一个抽象的模板或蓝图,定义了一组属性和方法,
而对象是基于类创建的实例。类描述了对象应该有的属性和行为。

封装(Encapsulation):封装指的是将数据和方法(行为)捆绑在一起,隐藏了对象的内部细节,
只公开必要的接口供其他对象使用。这有助于实现信息隐藏和数据保护。

继承(Inheritance):继承是一种机制,允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)
的属性和方法。子类可以重用父类的代码,并可以在不修改原始代码的情况下进行扩展或修改。

多态(Polymorphism):多态性允许不同类的对象对相同的消息作出不同的响应。
这使得在面向对象编程中可以创建通用的代码,能够处理多种类型的对象。

8月10日上课内容 Tomacat部署及优化_第6张图片

8月10日上课内容 Tomacat部署及优化_第7张图片

功能组件(结构):

connector:负载对外接受和响应请求,是tomcat与外界的交通枢纽,监听端口,也可以接受外界请求,交给container处理。

container:负责对内处理业务逻辑。

container里面有:
Engine:擎,管理虚拟机 (service,一个service里面可以包含多个虚拟主机。),可以管理多个虚拟主机,一个service里面只能有一个Engine;
Host: 代表一个虚拟机,也可以叫站点
Context: web应用。包含多个servlet。
wrapper:封装器,最底层,每一个wrapper封装一个servlet,负责对象实例的创建,执行,销毁。

父子关系,工作方式也是从上到下。

Tomcat处理请求的过程

8月10日上课内容 Tomacat部署及优化_第8张图片

Tomcat处理请求的具体过程:

1、输入网址,请求发送,请求发送到8080端口,被监听的获得;
2、connector会把请求转发到container处理-...->engine (虚拟主机,你要访问哪一个虚拟主机)

----->host(丰机站点包含要请求页面的位置。webapps)------>从contex,就是indexjsp里面的内容。------->wrapper(servlet,响应解析处理请求)-------jsp翻译官

--------------->页面展示。

Tomcat服务部署

在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。

1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下

jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

8月10日上课内容 Tomacat部署及优化_第9张图片

 

2.安装JDK

cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm 
java -version

8月10日上课内容 Tomacat部署及优化_第10张图片

 

3.设置JDK环境变量

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64

指定jdk的安装路径。jdk解释器,类似于shell,各种工具。
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

classpath:定义类的环境变量,环境类的库。
export PATH=$JAVA_HOME/bin:$PATH

可执行文件。

source /etc/profile.d/java.sh
java -version 查看安装版本

8月10日上课内容 Tomacat部署及优化_第11张图片

 8月10日上课内容 Tomacat部署及优化_第12张图片

 

使用文本工具编写java源代码,比如 Hello.java ;
在命令行中,输入命令:javac Hello.java,对源代码进行编译,生成 class 字节码文件;
编译完成后,如果没有报错信息,输入命令:java Hello,运行 class 字节码文件,由 JVM 对字节码进行解释和运行,
打印 “Hello World”。


vim Hello.java

public class Hello {            
  public static void main(String[] args){
    System.out.println("Hello world!");
  }
}

 

javac Hello.java
java Hello

8月10日上课内容 Tomacat部署及优化_第13张图片

 

4.安装启动Tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
##启动tomcat ##
#后台启动
/usr/local/tomcat/bin/startup.sh 

/usr/local/tomcat/bin/catalina.sh start
    
#前台启动
/usr/local/tomcat/bin/catalina.sh run        

netstat -natp | grep 8080

浏览器访问Tomcat的默认主页 http://192.168.233.21:8080
 

8月10日上课内容 Tomacat部署及优化_第14张图片

主要目录详解:

bin: 存放的启动和关闭tomcat脚本文件
conf:主配置文件 serverxml 主配置文件 ontex htmhost的默认配置信息 tomat-userxml : 认证用户密码的置文件 web.xm:配置servlet servlet的规范标准。

lib: tomcat运行库的jar包,一般不动,除非连接第三方-----redis,数据库

logs:日志文件
webapps: web应用部署的默认目录。

work:tomcat的工作目录。存放jsp编译之后的class文件,清楚tomcat缓存,就是删work目录。

8月10日上课内容 Tomacat部署及优化_第15张图片

 查看端口有没有起来,再到浏览器中访问

8月10日上课内容 Tomacat部署及优化_第16张图片

8月10日上课内容 Tomacat部署及优化_第17张图片

表示启动成功

5.优化tomcat启动速度
第一次启动tomcat可能会发现 Tomcat 启动很慢,默认情况下可能会需要几十秒,可以修改jdk参数进行改。
vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
--117行--修改
securerandom.source=file:/dev/urandom
----------------------------------------------------------------------------------------------------------
/dev/urandom是/dev/random的非阻塞版本,/dev/random的 random pool 依赖于系统中断,因此在系统的中断数不足时,
/dev/random 设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用,
/dev/random设备可以保证数据的随机性。 /dev/urandom不依赖系统的中断,也就不会造成进程忙等待,
但是数据的随机性也不高,所以该随机数的安全性理论上不高。如果应用对安全性要求很高,那么应该使用/dev/random。

 

 

8月10日上课内容 Tomacat部署及优化_第18张图片

 8月10日上课内容 Tomacat部署及优化_第19张图片

重启一下

8月10日上课内容 Tomacat部署及优化_第20张图片

 

 

你可能感兴趣的:(java,tomcat)