tomcat1----基础
tomcat1----基础
tomcat基础
单体化tomcat
分布式 服务发现,服务注册
微服务化
java
source code(源代码)、library(库)、 runtime(运行环境)
language 编程语言
Class library 类库
jvm java虚拟机
类文件格式,编译后的字节码
docker改变大部分软件机制,并没有解决运维人员的噩梦
程序在不同操作系统平台,应用的库或模式都是不一样的
jre=jvm+class library
java运行流程
index.jsp 源码 --> jasper组件转换成java代码 -->index_jsp.java --> javac 编译器 --> index_jsp.class 编译后生成的类文件 --> jvm上运行
java运行环境JRE ,包含 JVM和标准库,没有编译器和调试器
JVM < JRE < JDK
jdk 1.8 其实是J2SE(SE称标准版开源,EE企业版) 但有人称是JAVA8
jdk和openjdk是有区别的,开源和闭源
多版本存在,设置默认版本,可使用此命令 alternatives
安装jdk
方法一:yum
yum install java-11-openjdk java-11-openjdk-devel
java-11-openjdk java的类库
java-11-openjdk-headless 主程序在此包中
LTS代表长期支持版本
[root@localhost ~]# java -version
openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)
方法二:tar包
oracle下载jdk
https://www.oracle.com/java/technologies/javase-downloads.html
vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk/bin
export PATH=$PATH:$JAVA_HOME
java技术体系
tomcat = jdk环境 + sevlet内库 + jsp代码
简单来说tomcat是一个容器,让JSP代码扔入TOMCAT容器中,JSP WEB容器
一个tomcat进程表示一个tomcat server,一般一台主机仅运行一个server,除非主机性能很好,可运行多个tomcat实例
连接器 connector 监听套接字来接收客户端请求,connector 可以有多个,http,https,ajp(apace,jserv protocol只能被反代服务所使用)
TOMCAT内部,托管用户的应用程序并接收用户请求和响应用户请求,称引擎Engine,可以拥有多个引擎
一个connector 只能拥有一个Engine,一个Engine可以拥有多个connector
还有另外一种模式
引擎和连接器添加一个中间层,称为serivce
中间层表示引擎和连接关联关系
一个server有多个service,可以拥有n个连接器,m个引擎,x个service,但一般x=m,一般仅用service
一个serivce,可以连接多个连接器,但仅能定义一个引擎
一个serivce,n个连接器m个引擎,可以有多个service
每个引擎可以拥有多个虚拟主机 host
每个虚拟主机可以拥有多个应用程序
每个应用程序应用称contest
配置tomcat,从整体上,组织这些组件之间的关系,定义他们之间的属性
tomcat依赖于底层的jvm,jvm使用jdk部署
实例:普通用户启动tomcat
官方文档
https://tomcat.apache.org/
https://tomcat.apache.org/tomcat-8.5-doc/introduction.html
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz -O /usr/local/src/
cd /usr/local/src && tar xf apache-tomcat-8.5.70.tar.gz
cd .. && ln -sv src/apache-tomcat-8.5.70 tomcat
./catalina.sh veriosn
su - tomcat -c '/usr/local/tomcat/bin/catalina.sh start'