一、tomcat介绍
1.什么是tomcat?
- Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta
项目中的一个核心项目,由Apache、Sun和部分公司和个人一起开发完善的轻量级Web应用服务器,是Servlet规范和JSP规范的开源实现。由于因为Tomcat
技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web
应用服务器。目前Tomcat最新的版本是9.0版本。
2.Tomcat组件;
- tomcat instance:运行中的Tomcat进程
- server:即一个tomcat实例
- service:用于将connector关联至engine组件,一个service只能包含一个engine组件和一个或多个connector组件
- engine:tomcat核心组件,用户运行jsp,servlet代码
- connector:接入并解析用户请求,将请求映射为engine中运行的代码,之后,将运行结果构建成响应报文:http,ajp
- host:类似httpd中的虚拟主机
- context:类似httpd中的alias
3.tomcat运行模式:
- standalone:通过内置的web server来接受客户端请求
- Proxy:有专门的web server服务处理客服端的http请求:
- in-process:部署于同一主机
- network:部署于不同主机
4.tomcat目录结构
bin:脚本及启动时用到的类
conf:配置文件
lib:类库
logs:日志文件
temp:临时文件目录
webapps:应用程序默认部署目录
work:工作目录
conf/下的配置文件
context.xml:每个webapp都可以有专用的配置文件
logging.properties :日志相关的配置文件
catalina.policy :当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略
server.xml:主配置文件
web.xml:每个webapp部署之后才能被访问,此文件则用于为所有webapp提供默认配置
catalina.properties:Java属性的定义文件,用于设定类加载器路径等,以及一些jvm性能相关的调优参数
tomcat-users.xml:用户认证的账号和密码配置文件
二、tomcat部署:
1.部署前提,准备好环境安装包
JDK下载:链接
tomcat下载:链接
[root@tomcat ~]# ll *.gz
-rw-r–r–. 1 root root 9904915 Aug 29 23:34 apache-tomcat-9.0.11.tar.gz
-rw-r–r–. 1 root root 354870097 Aug 29 23:34 jdk-10.0.2_linux-x64_bin.tar.gz
2.安装jdk
2.1解压jdk
[root@tomcat ~]# tar xf jdk-10.0.2_linux-x64_bin.tar.gz
[root@tomcat ~]#ln -s /root/jdk-10.0.2 /usr/local/java
2.2配置jdk环境变量
[root@tomcat ~]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java/
export PATH=$JAVA_HOME/bin:$PATH
2.3测试环境变量
[root@tomcat ~]# source /etc/profile.d/java.sh
[root@tomcat ~]# java --version
java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
3.安装tomcat
3.1解压tomcat
[root@tomcat ~]# tar xf apache-tomcat-9.0.11.tar.gz
[root@tomcat ~]# ln -s /root/apache-tomcat-9.0.11 /usr/local/tomcat
3.2配置tomcat环境变量
[root@tomcat ~]# cat /etc/profile.d/tomcat.sh
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$TOMCAT_HOME/bin:$PATH
[root@tomcat ~]# source /etc/profile.d/tomcat.sh
3.3测试环境变量
[root@tomcat ~]# version.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java/
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Server version: Apache Tomcat/9.0.11
Server built: Aug 11 2018 19:47:23 UTC
Server number: 9.0.11.0
OS Name: Linux
OS Version: 3.10.0-327.el7.x86_64
Architecture: amd64
JVM Version: 10.0.2+13
JVM Vendor: "Oracle Corporation"
4.启动Tomcat
4.1脚本启动
[root@tomcat ~]# catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java/
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
4.2查看端口
[root@tomcat ~]# netstat -lntup|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 2905/java