1.理论
1.JVM基本介绍
JAVA业务都是运行在java虚拟机上的,简称 jvm ( java virtual machine )
为什么java需要jvm虚拟机?
早起:
C语言 不支持跨域平台(每个系统都要编译才可以使用) (游戏)
Windows:在编译一次
MACOS:还需要编译
LINUX: 编译一次
可移植性比较的差。
JAVA: 可以做到一次编译,多处运行。
windows、linux、macos。
需要我们在操作系统上启动运行一个jvm虚拟机,这样我们将java编译好的war、jar包
在windows、linux、macos平台上运行起来。无需我们重复编译。
jvm是由谁提供的呢?
jre:java运行环境 java runtime environment,包含了jvm。
jdk:java开发环境 会包含java的运行环境 jre。
如果我们只是单纯运行java代码,jre足够。 jdk。
2.Tomcat是什么,与Nginx的区别。
Tomcat是一个web服务,提供动态程序的解析(java),支持静态资源。
企业会nginx+tomcat模型, nginx处理静态资源,tomcat处理动态资源(java),能加速网站的访问和降低访问的延迟。
2.实践
3.Tomcat安装、配置、启动
3.1.安装jdk
yum install java -y
3.2.安装Tomcat ( 下载 Tomcat、解压、启动 )
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
mkdir /soft
tar xf apache-tomcat-9.0.34.tar.gz -C /soft/
ln -s /soft/apache-tomcat-9.0.34/ /soft/tomcat
3.3.目录结构
bin 主要包含启动和关闭tomcat的脚本(启停java脚本依赖jar包文件)
conf tomcat配置文件的目录
lib tomcat运行时需要加载的jar包
logs tomcat日志存放位置
temp tomcat临时存放文件路径
webapps tomcat默认站点目录
work tomcat运行时产生的缓存文件
3.4.Tomcat配置文件、架构
1.了解配置文件 ( 很乱 先听 )
2.使用图的方式在来讲解一次,结合配置文件去理解。
Tomcat的HTTP请求过程
用户发出一个请求,如http://tomcat.oldxu.com:8080/index.jsp
Connector发现是http/1.1协议,而且还是8080端口,于是就把请求接收后交给符合条件的Engine
Engine通过请求中的主机名tomcat.oldxu.com查找满足条件的虚拟主机(Host)
找到后就去此虚拟主机指定的appBase(代码存放的目录)最后将解析产生的结果返回给用户。
3.5.Tomcat虚拟主机配置
一个host一个站点
1.修改配置文件
<!--具体站点的配置,默认站点 Host就相当于是Nginx的一个Server_name-->
<Host name="localhost" appBase="webapps"
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<!--具体站点的配置,默认站点 Host就相当于是Nginx的一个Server_name-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<!--站点tomcat1.wyk.com-->
<Host name="tomcat1.wyk.com" appBase="/code1"
unpackWARs="true" autoDeploy="true">
<!--location /test ( alias /code1/admin )--> #访问/test会到/code1下的admin目录
<Context docBase="/code1/admin" path="/test" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="tomcat_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
2.创建对应目录(!!tomcat主站点默认访问目录下的ROOT文件)
[root@web01 ~]# mkdir /code1/ROOT -p
[root@web01 ~]# mkdir /code1/admin
[root@web01 ~]# echo "tomcat.." > /code1/ROOT/index.html
[root@web01 ~]# echo "tomcat...admin" > /code1/admin/index.html #访问/test就会到这个目录
3.配置域名劫持浏览器进行访问(默认监听8080端口)