Tomcat简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.27。
Tomcat
服务器是一个免费的开源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下使用,是开发和调试JSP
程序的首选。Tomcat
和Nginx
、Apache
等Web
服务器一样,具有处理HTML
页面的功能,另外它还是一个Servlet
和JSP
容器,独立的Servlet
容器是Tomcat
的默认模式。不过,Tomcat
处理静态HTML
的能力不如Nginx/Apache
服务器。一般情况下多用Nginx+Tomcat
,Nginx
处理静态,Tomcat
处理动态程序。
2.部署Java环境
## 解压软件包
[root@ansible ~]# tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/
## 创建一个软链接
[root@ansible ~]# ln -s /usr/local/jdk1.8.0_91/ /usr/local/java
## 添加环境变量
[root@ansible ~]# sed -i.ori '$a export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
## 重新加载环境变量
[root@ansible ~]# source /etc/profile
[root@ansible ~]# env |grep JAVA
JAVA_HOME=/usr/local/java
## 查看是否安装成功
[root@ansible ~]# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-BitServer VM (build 25.91-b14, mixed mode)
3.部署Tomcat
## 解压软件包
tar xf apache-tomcat-9.0.27.tar.gz -C /usr/local/
## 创建一个软链接
ln -s /usr/local/apache-tomcat-9.0.27/ /usr/local/tomcat
## 定义tomcat所需的环境变量
echo "export TOMCAT_HOME=/usr/local/tomcat" >> /etc/profile
## 重新加载环境变量
source /etc/profile
4.Tomcat目录结构
[root@long tomcat]# tree -L 1
.
├── bin ##存放启动、关闭tomcat或者其它功能的脚本(.bat文件和.sh文件)
├── BUILDING.txt
├── conf ##存放tomcat相关配置文件
├── CONTRIBUTING.md
├── lib ##该目录放置运行tomcat运行需要的jar包
├── LICENSE
├── logs ##存放tomcat日志文件
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp ##临时文件
├── webapps ##放置我们的web应用
└── work ##用以产生有JSP编译出的Servlet的.java和.class文件
1.tomcat
配置文件存放在安装目录conf
[root@long conf]# ll
total 232
-rw------- 1 root root 12873 Oct 7 17:59 catalina.policy
-rw------- 1 root root 7243 Oct 7 17:59 catalina.properties
-rw------- 1 root root 1400 Oct 7 17:59 context.xml
-rw------- 1 root root 1149 Oct 7 17:59 jaspic-providers.xml
-rw------- 1 root root 2313 Oct 7 17:59 jaspic-providers.xsd
-rw------- 1 root root 4144 Oct 7 17:59 logging.properties
-rw------- 1 root root 7513 Oct 7 17:59 server.xml ##主配置文件
-rw------- 1 root root 2164 Oct 7 17:59 tomcat-users.xml ##Tomcat配置用户名密码和相关权限
-rw------- 1 root root 2633 Oct 7 17:59 tomcat-users.xsd
-rw------- 1 root root 172362 Oct 7 17:59 web.xml ##文件配置与web应用
2.webapps
目录说明:这里几个目录对应着主界面的上面的按钮,可以直接在主界面查看帮助文档,及web
界面直接管理
[root@long webapps]# ll
total 20
drwxr-x--- 15 root root 4096 Jan 3 11:32 docs ##tomcat帮助文档
drwxr-x--- 6 root root 4096 Jan 3 11:32 examples ##web应用实例
drwxr-x--- 5 root root 4096 Jan 3 11:32 host-manager ##主机管理
drwxr-x--- 5 root root 4096 Jan 3 11:32 manager ##管理
drwxr-x--- 3 root root 4096 Jan 3 11:32 ROOT ##默认网站根目录
3.tomcat
日志文件
[root@long logs]# ll
total 24
-rw-r----- 1 root root 7301 Jan 3 15:16 catalina.2020-01-03.log
-rw-r----- 1 root root 7301 Jan 3 15:16 catalina.out ##实时日志
-rw-r----- 1 root root 0 Jan 3 11:44 host-manager.2020-01-03.log
-rw-r----- 1 root root 408 Jan 3 11:44 localhost.2020-01-03.log ##访问日志
-rw-r----- 1 root root 1726 Jan 3 15:16 localhost_access_log.2020-01-03.txt
-rw-r----- 1 root root 0 Jan 3 11:44 manager.2020-01-03.log ##管理日志
5.Tomcat的启动
1.默认的启动方式
##开启
[root@long logs]# /usr/local/tomcat/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/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
##关闭
[root@long logs]# /usr/local/tomcat/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/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
2.加入/etc/init.d的service
[root@long logs]# vim /etc/init.d/tomcat
#!/bin/bash
# Init file for Tomcat server daemon
#
# chkconfig: 2345 96 14
# description: Tomcat server daemon
JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/local/jdk1.8.0_91 #指定jdk安装路径
CATALINA_HOME=/usr/local/tomcat #指定tomcat安装路径
exportJAVA_OPTS JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
[root@ansible logs]# chmod +x /etc/init.d/tomcat
[root@ansible logs]# service tomcat 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/jdk1.8.0_91
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@ansible logs]# service tomcat stop
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
测试访问Tomcat: