扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Tomcat介绍
■免费的、开放源代码的Web应用服务器
■Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目
■由Apache、Sun和一 些公司及个人共同开发而成
■深受Java爱好者的喜爱,并得到部分软件开发商的认可
■目前比较流行的Web应用服务器
Tomcat核心组件
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了临朐免费建站欢迎大家使用!
Tomcat处理请求过程
1.用户在浏览器中输入网址localhost:8080/test/index.jsp,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得;
2.Connector把该请求交给它所在的Service的Engine(Container)来处理,并等待Engine的回应;
3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host;
4.Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理);
5.path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL Pattern为*.jsp的Servlet,对应于JspServlet类;
6.构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost(),执行业务逻辑、数据存储等;
7.Context把执行完之后的HttpServletResponse对象返回给Host;
8.Host把HttpServletResponse对象返回给Engine;
9.Engine把HttpServletResponse对象返回Connector;
10.Connector把HttpServletResponse对象返回给客户Browser。
Tomcat目录结构
[root@localhost ~]# ll /usr/local/tomcat/
总用量 124
drwxr-x--- 2 root root 4096 3月 7 22:34 bin
-rw-r----- 1 root root 19203 2月 5 00:32 BUILDING.txt
drwx------ 3 root root 254 3月 7 22:36 conf
-rw-r----- 1 root root 6095 2月 5 00:32 CONTRIBUTING.md
drwxr-x--- 2 root root 4096 3月 7 22:34 lib
-rw-r----- 1 root root 57092 2月 5 00:32 LICENSE
drwxr-x--- 2 root root 197 3月 7 22:36 logs
-rw-r----- 1 root root 2333 2月 5 00:32 NOTICE
-rw-r----- 1 root root 3255 2月 5 00:32 README.md
-rw-r----- 1 root root 6854 2月 5 00:32 RELEASE-NOTES
-rw-r----- 1 root root 16262 2月 5 00:32 RUNNING.txt
drwxr-x--- 2 root root 30 3月 7 22:34 temp
drwxr-x--- 7 root root 81 2月 5 00:31 webapps
drwxr-x--- 3 root root 22 3月 7 22:36 work
●bin
存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh、startup.sh、
shutdown.sh 三个文件
●conf
存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、
tomcat-users.xml、web.xml 四个文件。
●lib
存放 Tomcat 服务器的 jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,
那就需要添加相对应的 jar 包
●logs
存放 Tomcat 日志
●temp
存放 Tomcat 运行时产生的文件
●webapps
存放项目资源的目录
●work
Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到
Tomcat部署步骤
第一步:通过Windows下载并共享安装JDK
在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。
[root@localhost ~]# smbclient -L //192.168.235.1
#远程共享
Sharename Type Comment
ADMIN$ Disk 远程管理
tomcat Disk
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.235.1/tomcat /abc
#挂载tomcat共享文件到Linux本地目录中
[root@localhost ~]# cd /abc #进入本地目录查看
[root@localhost abc]# ls
12D18CFCD6599AFF0445766ACC4CA231C5025773.torrent
apache-jmeter-5.1
apache-jmeter-5.1.zip
apache-tomcat-9.0.16.tar.gz
jdk-11.0.5_windows-x64_bin.exe
jdk-8u152-windows-x64.exe
jdk-8u201-linux-x64.rpm
tomcat优化压测.jmx
[root@localhost abc]# rpm -ivh jdk-8u201-linux-x64.rpm
#安装JDK
第二步:确认JDK安装的目录路径
[root@localhost ~]# cd /usr
[root@localhost usr]# ls
bin games java lib64 local share tmp
etc include lib libexec sbin src
#切入/usr目录见java目录
[root@localhost usr]# cd java/
[root@localhost java]# ls
default jdk1.8.0_201-amd64 latest
#切入java目录可见jdk1.8.0_201-amd64文件
[root@localhost java]# cd jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# pwd
/usr/java/jdk1.8.0_201-amd64
#确认安装路径
第三步:设置环境变量/etc/profile文件
[root@localhost java]# vim /etc/profile
#在文件的末行追加一下三条申明条目
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
#申明java的工作目录
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
#申明java类文件的位置
export PATH=$JAVA_HOME/bin:$PATH
#申明java环境变量
[root@localhost java]# source /etc/profile
#生效环境变量
第四步:安装并启动Tomcat服务
[root@localhost java]# cd /abc
[root@localhost abc]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/
#解压tomcat包到/usr/local/目录中
[root@localhost abc]# cd /usr/local/ #切入/usr/local/ 目录中可见apache-tomcat-9.0.16
[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 #改名apache-tomcat-9.0.16文件为tomcat
[root@localhost local]# ls
bin games lib libexec share tomcat
etc include lib64 sbin src
[root@localhost local]# cd tomcat/bin/ #切入tomcat目录下的bin目录,这里有控制tomcat服务的脚本
[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/
#创建tomcat启动脚本的软链接到系统目录中,方便系统识别
[root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.up.sh /usr/bin/
#创建tomcat关闭脚本的软链接到系统目录中,方便系统识别
[root@localhost bin]# startup.sh #启动tomcat服务
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]# systemctl stop firewalld.service
[root@localhost bin]# setenforce 0
#关闭防火墙与增强型安全功能
[root@localhost bin]# netstat -ntap | grep 8080 查看tomcat服务的8080端口状态
tcp6 0 0 :::8080 :::* LISTEN 39596/java
第五步:浏览Tomcat的默认主页
在浏览器中输入http://192.168.235.158:8080即可访问到网页
第六步:优化Tomcat启动时间
[root@localhost bin]# vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
#修改java.security参数
securerandom.source=file:/dev/urandom
#检索到random参数条目,将random修改为urandom,以缩短启动时间
[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.
谢谢阅读!!!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流