电脑装配网

tomcat安装与使用

 人阅读 | 作者lilintao | 时间:2023-08-10 08:01

开课

本章我们来学习一下另外的一种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>


文章标签:

本文链接:『转载请注明出处』