Tomcat服务器是免费的开源web APP服务器,是一种轻量级APP服务器,在中小型系统和并发用户不多的情况下非常常用,非常适合开发和测试JSP程序。 一般来说,Tomcat和apache、Nginx这些web服务器一样,具有处理HTML页面的功能,但处理静态页面的能力远远不如apache、Nginx,因此Tomcat与servlet和JSP容器
有关Tomcat服务器的部署流程和应用环境,请参阅博文https://blog.51cto.com/14227204/2436201
关于Tomcat配置文件的作用和说明:
在安装Tomcat之前,需要安装JDK。 JDK是sun公司免费提供的Java语言软件开发工具包,其中包含Java虚拟机(JVM )。 生成的Java源程序被编译成Java字节码,如果安装了JDK,则可以使用JVM解释这些代码文件,从而保证了Java的跨平台性。
在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统的API来实现对应功能的Java虚拟机,与操作系统的种类和平台的位数密切相关Tomcat也具有这些特征,缺省情况下安装的是JDK,可以使用以下命令检查是否安装了JDK。
[ root @ localhost~] #检查是否安装了Java-version # JDK,如果没有安装,则需要自己安装
open JDK版本'1. 8.0 _ 161 '
openjdkruntimeenvironment (生成1.8.0 _ 161-B14 ) ) ) ) ) ) ) ) ) ) )。
open JDK 64 -位服务器(构建25.161-b14,混合模式) ) ) ) ) ) ) ) )。
的主要目录说明:
[根@本地主机~ ]切换到# CD/usr /本地/Tomcat8/# Tomcat目录
[ root @ localhost Tomcat8] #显示ll #目录中的所有内容
总使用量92
drwxr-x---2超级超级超级超级用户4096 6月22日20336008bin
保存在Windows或Linux平台上启动和关闭Tomcat的脚本文件
rwx---- 2超级超级超级超级用户2386月22日22 2017 conf
存储Tomcat服务器的各种全局配置文件。 其中最重要的是server.xml和web.xml
drwxr-x---- 2超级超级超级用户4096 6月22日20336008lib
存储运行Tomcat所需的库文件
-rw-r----1路线570926月22日2017许可证
rwxr-----2超级超级超级用户6月22日22 2017日志
存储Tomcat运行时的日志文件
-rw-r----1路线17236月22日22 2017 NOTICE
--rw---- 1根根目录70646月22日22 2017发行说明
--rw---- 1根根根159466月22日22日2017运行. txt
drwxr-x---2超级超级超级用户30 6月22日22日22 20:08 temp
drwxr-x---7超级超级超级用户81 6月22日22 2017网络应用程序
#Tomcat的主要web公开目录(包括APP示例)。
rwxr-x-----2超级超级超级用户6月22日22日2017工作
存储JSP编译后生成的class文件。
概要文件说明:
[ root @ localhost Tomcat8] #查看ll conf # conf目录的内容
总使用量224
-rw----1rootroot138166月22日22 2017 catalina.policy #权限控制设定档
--rw---- 1根根根73766月22日22日2017年catalina.properties # Tomcat属性配置文件
-rw----1路由13386月22日22 2017上下文. XML #上下文配置文件
--rw---- 1超级超级超级超级用户11496月22日22日22 2017 jaspic-providers.xml
--rw---- 1超级超级超级超级超级用户23586月22日22日22 2017 jaspic-providers.xsd
--rw---- 1超级超级超级超级用户36226月22日22 2017日志记录.属性#日志相关配置文件
-rw----1根路由75116月22日2017服务器. XML#主配置文件
-rw----1路由21646月22日2017 Tomcat-users.XML #管理器- GUI管理配置文件
# #安装#Tomcat后,默认情况下会提供manager管理界面,您可以通过设置该文件来打开访问。
--rw---- 1超级超级超级超级超级用户26336月22日22日22 2017 tomcat-users.xsd
--rw---- 1超级超级超级超级超级用户1682516月22日22 2017 web.xml
o
mcat主配置文件说明:server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、虚拟主机、开启https等重要功能。
整个server.xml由以下结构构成:<Server>、<Service>、<Connector /><Engine >、<Host>、<Context>、</Context></Host></Engine></Service>和</Server>。
以下是默认安装server.xml文件的部分内容:
[root@localhost tomcat8]# vim conf/server.xml <?xml version="1.0" encoding="UTF-8"?> ............ #省略部分内容 <Server port="8005" shutdown="SHUTDOWN"> #Tomcat关闭端口,默认只对本机地址开放,可以在本机通过Telnet 127.0.0.1 8005访问, #对Tomcat进行关闭操作 ............ #省略部分内容 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> #Tomcat启动的默认端口号8080,可以根据需要进行更改。 ............ #省略部分内容 <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> #Tomcat启动AJP 1.3连接器时默认的端口号,可以根据需要进行更改 ............ #省略部分内容 #以下为Tomcat定义虚拟主机时的配置及日志配置 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>Tomcat server的组成部分说明:
Server
server元素代表了整个CatAlina的servlet容器。
Service
Service是这样一个集合:它由一个或者多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。
Connector
一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。
Tomcat有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其他webserver的请求。 Coyote HTTP/1.1 Connector在端口8080处侦听来自客户browser(浏览)的http请求。 Coyote JK2 Connector 在端口8009处侦听来自其他文本server(Apache)的servlet/jsp代理请求。Engine:
Engine下可以配置多个虚拟主机virtual host,每个虚拟主机都有一个域名。
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该host来处理。
Engine有一个默认虚拟主机,当请求无法匹配到任何一个host上时,将交给该默认主机处理。
Host
Host代表一个virtual Host(虚拟主机),每个虚拟主机和某个网络域名Domain Name相匹配。
每个虚拟主机下都可以部署一个或多个web app,每个web app对应一个Context,有一个Context path。
当host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context。
所有无法和其他Context的路径名匹配的请求都将最终和该默认Context匹配。
Context
一个Context对应一个web application ,一个web application由一个或者多个servlet组成。