前言: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 独立的进程单独运行的。
一、Tomcat简介
1.由来
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O’Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O’Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)[1]的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
2.介绍
- 是一个免费的、开放源代码的web应用服务器
- Apache软件基金会(Apache Software Foundation)
Jakarta项目中的一个核心项目 - 由Apache、Sun和一些公司及个人共同开发而成
- 深受Java爱好者的喜爱,并得到部分软件开发商的任何
- 目前比较流行的Web应用服务器
3.核心组件
- Web容器 服务器 (底层)
- Servlet容器 名为catalina,处理Servlet代码 (后端)
- JSP容器 将JSP动态页面翻译成Servlet代码 (前端)
二、Tomcat部署
1.下载安装jdk
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.10.38/bao /abc //将准备好的包挂载到虚拟机中
Password for root@//192.168.10.38/bao:
[root@localhost ~]# cd /abc/
[root@localhost abc]# ls
awstats-7.6 LAMP-C7 LNMP tomcat tomcat优化压测.jmx
[root@localhost abc]# cd tomcat/
[root@localhost tomcat]# ls
apache-jmeter-5.1.zip jdk-8u201-linux-x64.rar
apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm
[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm //解压jdk包
警告:jdk-8u201-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jdk1.8-2000:1.8.0_201-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@localhost java]# cd /usr/java/
[root@localhost java]# ls
default jdk1.8.0_201-amd64 latest
[root@localhost java]# cd jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# ls
bin //放脚本目录 lib //放jar包 src.zip //主配置压缩文件
COPYRIGHT LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt
include man THIRDPARTYLICENSEREADME.txt
javafx-src.zip README.html
jre //JVM虚拟机在里面 release
[root@localhost jdk1.8.0_201-amd64]# java -version //查看版本
openjdk version "1.8.0_131" //jdk简化版本 linux系统默认的编译器
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
为了可以更友好的使用,需要配置JAVA环境
[root@localhost jdk1.8.0_201-amd64]# pwd //查看工作目录
/usr/java/jdk1.8.0_201-amd64
[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile
77 export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 //声明工作目录位置
78 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
//声明指定类文件位置
79 export PATH=$JAVA_HOME/bin:$PATH //设置环境变量
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile //重新生效
[root@localhost jdk1.8.0_201-amd64]# java -version //查看是否生效
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@localhost jdk1.8.0_201-amd64]# cd /abc/tomcat/
2.安装配置tomcat
[root@localhost tomcat]# ls
apache-jmeter-5.1.zip jdk-8u201-linux-x64.rar
apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm
[root@localhost tomcat]# tar -zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local //解压后生成文件
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.16 etc include lib64 sbin src
bin games lib libexec share
[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat //为了方便使用更改下文件名
[root@localhost local]# cd tomcat/bin/
[root@localhost bin]# ls //脚本位置
bootstrap.jar configtest.sh shutdown.sh
catalina.bat daemon.sh startup.bat
catalina.sh digest.bat startup.sh
catalina-tasks.xml digest.sh tomcat-juli.jar
ciphers.bat makebase.bat tomcat-native.tar.gz
ciphers.sh makebase.sh tool-wrapper.bat
commons-daemon.jar setclasspath.bat tool-wrapper.sh
commons-daemon-native.tar.gz setclasspath.sh version.bat
configtest.bat shutdown.bat version.sh
[root@localhost bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/
[root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/ //建立两个软连接为了系统能够识别开启与关闭
[root@localhost 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/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# netstat -ntap|grep 8080 //查看端口是否开启
tcp6 0 0 :::8080 :::* LISTEN 5231/java
3.测试
打开浏览器访问测试http://192.168.9.166:8080
图片表示Tomcat已经配置启动成功。如果想关闭Tomcat,执行shutdown.sh即可
[root@localhost 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/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
4.小优化
对配置文件进行优化,提高启动时间
[root@localhost lib]# cd /usr/java/jdk1.8.0_201-amd64/jre/lib/security/
[root@localhost security]# ls
blacklist cacerts java.security policy
blacklisted.certs java.policy javaws.policy trusted.libraries
[root@localhost security]# vim java.security //提高启动时间进行优化
117 securerandom.source=file:/dev/urandom //将random改成urandom
总结:Tomcat有个诀窍,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。