目录
1.Tomcat简介
2.Tomcat安装
2.1 环境准备
2.2 部署java环境
2.3 安装Tomcat
2.4 Tomcat目录介绍
2.5 启动Tomcat
2.6 访问网站
2.7 日志介绍
3. Tomcat配置文件
3.1 Tomcat配置文件
3.2 Tomcat管理
3.3 Tomcat主配置文件server.xml详解
3.3.1 server.xml组件类别
3.3.2 server.xml组件详解
3.3.3 配置文件 server.xml 主详解
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。
具体环境可通过开发人员来定,这儿给出了本次实验的环境。
链接:https://pan.baidu.com/s/1uOEyjFm3cKk6XsbucSp0NA 密码:pt3l
~]# mkdir /app
~]# cd /app
~]# rz
~]# tar xf jdk-8u60-linux-x64.tar.gz -C /app/
~]# ln -s /app/jdk1.8.0_60 /app/jdk
~]# echo 'export JAVA_HOME=/app/jdk' > /etc/profile.d/jdk.sh
~]# echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile.d/jdk.sh
~]# source /etc/profile.d/jdk.sh
~]# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
~]# tar -xf apache-tomcat-8.0.27.tar.gz -C /app/
~]# ln -s /app/apache-tomcat-8.0.27 /app/tomcat
~]# echo 'export TOMCAT_HOME=/app/tomcat'>>/etc/profile.d/tomcat.sh
~]# source /etc/profile.d/tomcat.sh
~]# chown -R root.root /app/jdk/ /app/tomcat/
[root@tomcat ~]# cd /app/tomcat/
[root@tomcat tomcat]# tree -L 1
.
├── bin #→用以启动、关闭Tomcat或者其它功能的脚本(.bat文件和.sh文件)
├── conf #→用以配置Tomcat的XML及DTD文件
├── lib #→存放web应用能访问的JAR包
├── LICENSE
├── logs #→Catalina和其它Web应用程序的日志文件
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp #→临时文件
├── webapps #→Web应用程序根目录
└── work #→用以产生有JSP编译出的Servlet的.java和.class文件
7 directories, 4 files
[root@tomcat tomcat]# cd webapps/
[root@tomcat webapps]# ll
total 20
drwxr-xr-x 14 root root 4096 Oct 5 12:09 docs #→tomcat帮助文档
drwxr-xr-x 6 root root 4096 Oct 5 12:09 examples #→web应用实例
drwxr-xr-x 5 root root 4096 Oct 5 12:09 host-manager #→管理
drwxr-xr-x 5 root root 4096 Oct 5 12:09 manager #→管理
drwxr-xr-x 3 root root 4096 Oct 5 12:09 ROOT #→默认网站根目录
#→启动程序/app/tomcat/bin/startup.sh
#→关闭程序/app/tomcat/bin/shutdown.sh
[root@tomcat ~]# /app/tomcat/bin/startup.sh
Using CATALINA_BASE: /app/tomcat
Using CATALINA_HOME: /app/tomcat
Using CATALINA_TMPDIR: /app/tomcat/temp
Using JRE_HOME: /app/jdk
Using CLASSPATH:
/app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@tomcat ~]# netstat -lnpt | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1311/java
tcp6 0 0 :::8009 :::* LISTEN 1311/java
tcp6 0 0 :::8080 :::* LISTEN 1311/java
http://ipaddr:8080/
[root@tomcat ~]# cd /app/tomcat/logs/
[root@tomcat logs]# ll
total 32
-rw-r--r-- 1 root root 12137 Sep 16 17:55 catalina.2018-09-16.log
-rw-r--r-- 1 root root 12137 Sep 16 17:55 catalina.out
-rw-r--r-- 1 root root 0 Sep 16 05:49 host-manager.2018-09-16.log
-rw-r--r-- 1 root root 560 Sep 16 17:54 localhost.2018-09-16.log
-rw-r--r-- 1 root root 824 Sep 16 18:02 localhost_access_log.2018-09-16.txt
-rw-r--r-- 1 root root 0 Sep 16 05:49 manager.2018-09-16.log
#-> catalina.out实时日志
[root@tomcat logs]# tail -f catalina.out
16-Sep-2018 17:54:59.067 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /app/apache-tomcat-8.0.27/webapps/docs has finished in 160 ms
16-Sep-2018 17:54:59.067 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /app/apache-tomcat-8.0.27/webapps/examples
16-Sep-2018 17:55:00.002 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /app/apache-tomcat-8.0.27/webapps/examples has finished in 935 ms
16-Sep-2018 17:55:00.002 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /app/apache-tomcat-8.0.27/webapps/host-manager
16-Sep-2018 17:55:00.076 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /app/apache-tomcat-8.0.27/webapps/host-manager has finished in 73 ms
16-Sep-2018 17:55:00.076 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /app/apache-tomcat-8.0.27/webapps/manager
16-Sep-2018 17:55:00.095 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /app/apache-tomcat-8.0.27/webapps/manager has finished in 19 ms
16-Sep-2018 17:55:00.116 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
16-Sep-2018 17:55:00.194 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
16-Sep-2018 17:55:00.197 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 2440 ms
[root@tomcat conf]# pwd
/app/tomcat/conf
[root@tomcat conf]# ll -h
total 212K
drwxr-xr-x 3 root root 23 Sep 16 05:49 Catalina
-rw------- 1 root root 13K Sep 28 2015 catalina.policy #当使用-security选项启动tomcat时,用于为tomcat设置安全策略
-rw------- 1 root root 7.0K Sep 28 2015 catalina.properties #java属性定义文件,用于设定类加载器,以及一些JVM调优相关参数
-rw------- 1 root root 1.6K Sep 28 2015 context.xml #每个webapp都可以专用的配置文件,它通常由专用的配置文件content.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有webapps提供默认部署相关的配置
-rw------- 1 root root 3.4K Sep 28 2015 logging.properties #日志系统相关配置 log4j
-rw------- 1 root root 6.4K Sep 28 2015 server.xml #主配置文件
-rw------- 1 root root 1.9K Sep 16 19:11 tomcat-users.xml #tomcat管理用户配置文件
-rw------- 1 root root 1.9K Sep 28 2015 tomcat-users.xsd
-rw------- 1 root root 164K Sep 28 2015 web.xml #每个webapp只有"部署"后才能访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有webapps提供默认部署相关的配置
测试功能,生产环境不推荐使用。
Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,就需要配置管理用户,即配置前面说过的 tomcat-users.xml 。
[root@tomcat ~]# vim /app/tomcat/conf/tomcat-users.xml
…………
#→在此行前加入上面三行
[root@tomcat ~]# /app/tomcat/bin/shutdown.sh
[root@tomcat ~]# /app/tomcat/bin/startup.sh
#元素代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个元素.并且它不能做为任何元素的子元素.
#
#port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.
#Service服务组件
#connector:接收用户请求,类似于httpd的listen配置监听端口。
#port :指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。
#address :指定连接器监听的地址,默认为所有地址(即0.0.0.0)。
#protocol :连接器使用的协议,支持HTTP和AJP。AJP(Apache Jserv Protocol)专用于tomcat与apache建立通信的, 在httpd反向代理用户请求至tomcat时使用(可见Nginx反向代理时不可用AJP协议)。
#minProcessors:服务器启动时创建的处理请求的线程数。
#maxProcessors:最大可以创建的处理请求的线程数。
#enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址。
#redirectPort :指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。
#acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
#connectionTimeout:指定超时的时间数(以毫秒为单位)。
#Engine,核心容器组件,catalina引擎,负责通过connector接收用户请求,并处理请求,将请求转至对应的虚拟主机host。defaultHost指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的。
#Realm表示存放用户名,密码及role的数据库
#Host,表示存放用户名,密码及role的数据库。
#name :指定主机名。
#appBase :应用程序基本目录,即存放应用程序的目录.一般为appBase="webapps" ,相对于CATALINA_HOME而言的,也可以写绝对路径。
#unpackWARs:如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序。
#autoDeploy:在tomcat启动时,是否自动部署。
#xmlValidation :是否启动xml的校验功能,一般xmlValidation="false"。
#xmlNamespaceAware:检测名称空间,一般xmlNamespaceAware="false"。