开课
本章我们来学习一下另外的一种web服务tomcat,这是一个支持jsp页面的web服务,很多开发方向的IT人员,包括运维开发方向的同仁,都会选择使用tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
知识点
什么是tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
CentOS8中如何部署tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
windows系统中如何部署tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的相关目录和文件的作用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的管理界面如何使用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
如何使用tomcat发布静态页面https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat动态页面的实现https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat多实例的实现https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
让nginx和tomcat协同工作https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的运行模式https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat运行模式的调整https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
额外的优化参数https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
压力测试工具的使用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
课程目标
能够知道什么是tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够在不同的系统上部署tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够记住tomcat的常用目录和文件https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够知道如何管理tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够在tomcat上部署静态网站和动态网站https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够将nginx和tomcat整合并实现多实例https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够对tomcat进行简单的调优https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够使用压力测试工具https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
Tomcat
介绍
Apache Tomcat最早是由Sun开发的,在1999年被捐献给ASF(Apache 软件基金会 Apache Software Foundation),隶属于Jakarta(雅加达)项目,现在已经独立为一个顶级项目。因为Tomcat 技术先进、性能稳定,同时也是一个免费的开放源代码的Web 应用服务器,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,被很多企业普遍使用,也是开发和调试JSP程序的首选。成为目前比较流行的Web 应用服务器。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
官方网站:https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
如何想使用tomcat9的话,官方要求JRE的版本必须是8以上的,所以在安装之前,我们需要确认一下本机的版本,如果满足需求的话可以直接安装tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu> [root@manage01 ~]# java -versionbash: java: 未找到命令...文件搜索失败: Cannot update read-only repo#系统提示没有找到命令,意味着没有安装相关软件包,所以我们要安装[root@manage01 ~]# rpm -ivh jdk-13.0.2_linux-x64_bin.rpm 警告:jdk-13.0.2_linux-x64_bin.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEYVerifying... ################################# [100%]准备中... ################################# [100%]正在升级/安装...1:jdk-13.0.2-2000:13.0.2-ga ################################# [100%]安装完成后再次查看[root@manage01 ~]# java -versionjava version "13.0.2" 2020-01-14Java(TM) SE Runtime Environment (build 13.0.2+8)#java的运行环境,也叫jreJava HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing) #JVM java的虚拟机,可以使Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的字节码就可以了,这样就可以在多种平台上不加修改地运行。很多语言都采用了这种类似的思路,才使得他们具有可移植性,比如说python安装tomcat我们可以看到tomcat软件包的名称包含有apache字样,原因很简单,它是由apache资助的项目[root@manage01 ~]# unzip apache-tomcat-9.0.31.zip -d /opt/[root@manage01 ~]# cd /opt/[root@manage01 opt]# mv apache-tomcat-9.0.31 tomcat1解压完成,改个名就可以使用了,因为tomcat是一个二进制包,什么意思呢?就类似于我们下载游戏的时候的硬盘版,什么是硬盘版?解压就能玩,所以这个tomcat我们就压之后就可以使用了,不需要安装。[root@manage01 bin]# pwd/opt/tomcat1/bin[root@manage01 bin]# sh startup.sh Cannot find ./catalina.shThe file is absent or does not have execute permissionThis file is needed to run this program启动tomcat[root@manage01 bin]# chmod +x catalina.sh [root@manage01 bin]# sh startup.sh Using CATALINA_BASE: /opt/tomcat1Using CATALINA_HOME: /opt/tomcat1Using CATALINA_TMPDIR: /opt/tomcat1/tempUsing JRE_HOME: /usrUsing CLASSPATH: /opt/tomcat1/bin/bootstrap.jar:/opt/tomcat1/bin/tomcat-juli.jarTomcat started.[root@manage01 webapps]# netstat -antp | grep javatcp6 0 0 127.0.0.1:8005 :::* LISTEN 46987/java tcp6 0 0 :::8080 :::* LISTEN 46987/java tomcat的两个端口8005 是关闭tomcat使用的端口,可以使用telnet serverip 8005 然后输入大写的SHUTDOWN关闭tomcat,所以建议更改端口 或者把引号中了命令改成不容易记忆的,个人推荐改命令,因为改端口没有告诉负责网络安全的同事就会给你屏蔽掉………8080 连接端口8009 AJP协议使用的端口,tomcat的优势是处理jsp页面 但是对于图片,静态页面处理能力特别差,相对于apache来说,那么这个时候怎么办 做个分流 jsp页面由tomcat完成,静态的页面 图片由AJP来完成,AJP是定向包协议 使用二进制格式来传输可读性文本,在server.xml配置文件中默认不生效
如果使用java -version看到的还是以前的提示,重启一下系统https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
安装tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
解压tomcat的压缩包并进入到bin目录下https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
server status 查看服务器的状态,包括linux主机的信息,tomcat的版本信息,资源使用情况等https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
manager app 管理网站https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
host manager 虚拟主机的管理https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
发布静态页面
目录说明
tomcat主目录https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
bin:命令,存放不同平台上启动或关闭的脚本BUILDING.txt&RUNNING.txt:使用文档,告诉用户如何搭建conf:各种全局配置文件,最主要的是server.xml和web.xml CONTRIBUTING.md:捐赠lib:tomcat需要用到的库,主要是各种jar包LICENSE:许可logs:存放tomcat的日志NOTICE:通知信息README.md:读我文档RELEASE-NOTES:版本信息temp:临时文件 webapps:tomcat的web发布目录,类似于nginx或者apache的html目录 work:tomcat的工作目录,存放的是jsp编译后产生的.class文件及.java文件。清空work目录,然后重启tomcat,可以达到清除缓存的作用。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
bin目录https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
bin目录下的文件主要有两类,一个是Linux使用的.sh结尾的文件,另外一个是windows使用的.bat结尾的文件,https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
catalina tomcat的设置脚本,也可以启动&关闭tomcathttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu> [root@manage01 bin]# sh catalina.sh helpUsing CATALINA_BASE: /opt/tomcat1Using CATALINA_HOME: /opt/tomcat1Using CATALINA_TMPDIR: /opt/tomcat1/tempUsing JRE_HOME: /usrUsing CLASSPATH: /opt/tomcat1/bin/bootstrap.jar:/opt/tomcat1/bin/tomcat-juli.jarUsage: catalina.sh ( commands ... )commands:debug Start Catalina in a debuggerdebug -security Debug Catalina with a security managerjpda start Start Catalina under JPDA debuggerrun Start Catalina in the current windowrun -security Start in the current window with security managerstart Start Catalina in a separate windowstart -security Start in a separate window with security managerstop Stop Catalina, waiting up to 5 seconds for the process to endstop n Stop Catalina, waiting up to n seconds for the process to endstop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still runningstop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still runningconfigtest Run a basic syntax check on server.xml - check exit code for resultversion What version of tomcat are you running?Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined[root@manage01 bin]# sh catalina.sh stop[root@manage01 bin]# sh catalina.sh helpstartup 启动脚本shutdown 关闭脚本
conf目录https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
这个目录下主要存放的是与tomcat设置相关的文件,常用的配置文件主要包含server.xml 可以设置端口号、设置域名或IP、默认加载的项目、请求编码 web.xml 可以设置tomcat支持的文件类型 context.xml 可以用来配置数据源之类的 tomcat-users.xml 用来配置管理tomcat的用户与权限 Catalina 此目录下可以设置默认加载的项目https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
webapps目录https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
ROOT tomcat默认的页面docs 使用说明文档examples 例子--tomcat首页中的examples按钮对应的内容host-manager 首页Host Manager按钮对应的内容manager 首页 Manager App按钮对应的内容https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat相关配置文件简介
server.xmlhttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
元素名https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
属性https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
解释https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
serverhttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
porthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定一个端口,这个端口负责监听关闭tomcat的请求https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
shutdownhttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定向端口发送的命令字符串https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
servicehttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
namehttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定service的名字https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
Connector(表示客户端和service之间的连接)https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
porthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
minProcessorshttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
服务器启动时创建的处理请求的线程数https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
maxProcessorshttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
最大可以创建的处理请求的线程数https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
enableLookupshttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
redirectPorthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
acceptCounthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
connectionTimeouthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定超时的时间数(以毫秒为单位)https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
Engine(表示指定service中的请求处理引擎,接收和处理来自Connector的请求)https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
defaultHosthttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
Context(表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范)https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
docBasehttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
应用程序的路径或者是WAR文件存放的路径https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
pathhttps://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
表示此web应用程序的url的前缀,这样请求的url为
压力测试工具的使用
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
JMeter的作用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
完全的可移植性和100% 纯java。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
精心的GUI设计允许快速操作和更精确的计时。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
缓存和离线分析/回放测试结果。https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
下载地址:https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
章总结
tomcat的安装部署https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的相关文件介绍https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的管理https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
静态页面和动态页面的发布https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
如何实现tomcat多实例https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
如何将tomcat和nginx整合https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
tomcat的调优及压力测试工具的使用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
重点:tomcat如何安装、相关目录的作用、如何使用tomcat发布网站,后台管理功能的使用,多实例的实现,如何与nginx整合,tomcat的调优及压力测试工具的使用https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
难点:不同操作系统的安装,相关文件的作用,使用tomcat发布页面,与nginx的整合方法,调优的方式及压力测试工具https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
今天东西超级多,我看有几个能从头到尾看完的,哈哈哈哈哈 https://www.dnzp.com/uploads/allimg/230810/3t3lfntuunu>
文章标签:
本文链接:https://www.dnzp.com/jy/202308/198624.html『转载请注明出处』
- 上一篇:烟台随叫随到的上门式电脑维修服务部6379---880速修电子
- 下一篇:没有了
相关文章
- 2023-08-10烟台随叫随到的上门式电脑维修服务部6379---880速修电子
- 2023-08-10实在卖不动了!二季度中国大陆电脑出货量暴跌:商用领域跌幅最大
- 2023-08-10如何用手机查看自己家的路由器密码?
- 2023-08-10中国桌面操作系统发展回顾:半个世纪浮沉,正待星火燎原
- 2023-08-10不知道目前主流的数据恢复软件有哪些?来看看这篇文章
- 2023-08-10办公、轻度游戏都能搞定,这三款融合型电脑更实用