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的虚拟主机