如何实现Tomcat部署及优化
① Web容器#完成Web服务器的功能② Servlet容器#名字为Catalina,用于处理Servlet代码③ Jsp容器#用于将Jsp动态网页翻译成Servlet代码Tomcat是一个免费的开放源代码的Web应用服务器,由Apache、Sun和一些公司以及个人共同开发而成,目前比较流行的Web应用服务器Tomcat处理请求(内部数据流向)
目录
一、Tomcat概述
Tomcat中的核心组件(用于Java环境)
① Web容器 #完成Web服务器的功能
② Servlet容器 #名字为Catalina,用于处理Servlet代码
③ Jsp容器 #用于将Jsp动态网页翻译成Servlet代码
Tomcat是一个免费的开放源代码的Web应用服务器,由Apache、Sun和一些公司以及个人共同开发而成,目前比较流行的Web应用服务器
Tomcat处理请求(内部数据流向)
Tomcat两种优化
① Tomcat配置文件优化
② Java虚拟机(JVM)调优
Tomcat Web服务
Web是可以通过HTTP(s)来访问的一个页面 → 文件
Web容器封装了一组文件集中化管理 → 一组组员对象
JSP容器(翻译功能)
index.php → PHP服务
index.jsp → Tomcat服务(和数据库进行交互,连接后端)JAVA环境
html → nginx服务 (可以直接展示index.php)
动态页面
可以让用户进行交互的一种文本Web的页面(后台进行交互)
index.jsp → tomcat用Java环境 → 和数据进行交互
Tomcat是Web应用服务器,也是一个Servlet/JSP容器,Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的相应反馈给用户
Servlet处理动态页面
Servlet是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建(Servlet代码格式就是用Jsp容器来处理)
JSP(动态网页开发技术)
实现应用程序的用户界面部分,通过网页表单获取用户输入数据,访问数据库以及其他数据源
二、Tomcat内部工作流程
Web容器(接收响应请求)展示动态页面(index.jsp类型网页文件)
Jsp容器(翻译Java代码成Servlet代码)
Servlet容器(借助于catalina来执行Servlet代码)
动态任务执行的标准格式
Servlet容器中catalina(卡特琳娜)程序/脚本来处理,从JSP容器中翻译JAVA代码后生成的Servlet代码
处理完代码后通过API接口连接APP程序,再通过MySQL数据库查找查询数据,最后原路一层层再反馈给用户结果
Tomcat → 承载JAVA类代码运行的平台应用 → JAVA → 具体的作用
三、Tomcat功能组件结构
Tomcat的核心功能有两个,分别是负责接收和反馈外部请求的连接器Connector
还有一个负责处理请求的容器Container
Connector连接器
负责对外接收和响应请求,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将结果响应反馈给外界
Container容器
负责对内处理业务逻辑,其内部由Engine、Host、Context和Wrapper四个容器组成,用与管理和调用Servlet相关逻辑
四个子容器
Service对外提供的Web服务,主要包含Connector和Container两个核心组件
Tomcat可以管理多个Service,而且各个Service之间相互独立
每个Service会包含一个Container容器,在Container中包含了四个子容器
① Engine引擎,用来管理多个虚拟主机,一个Service最多只能有一个Engine引擎
② Host 代表一个虚拟主机,也可以叫做站点,通过配置Host就可以添加站点
③ Context 代表一个Web应用,包含多个Servlet封装器
④ Wrapper封装器 容器的最底层,每一个Warpper封装中有一个Servlet,负责对象实例的创建、执行和销毁功能
四个容器之间属于父子级的关系
容器由一个引擎可以管理多个虚拟主机,每个虚拟主机可以管理多个Web应用,每个Web应用会有多个Servlet封装器
Tomcat请求过程
① 用户在浏览器中输入网址,请求被发送到本机端口8080,被Connector获取
② Connector把该请求交给它所在的Service的Engine(Container)来处理并且等待Engine回应
③ 请求在Engine、Host、Context和Wrapper这四个容器之间层层调用,最后在Servlet中执行对应的业务逻辑、数据存储等
④ 执行完之后的请求相应在Context、Host、Engine容器之间层层返回,最后交给Connector,并且通过Connector返回给客户端
四、部署案例
Tomcat服务部署
第一步 导入相关包进行安装
第二步 关闭防火墙和安全机制
命令:systemctl stop firewalld
setenforce 0
第三步 检查版本
命令:java -version
第四步 编写配置文件
命令:vim /etc/profile.d/java.sh
第五步 刷新脚本文件
命令:source /etc/profile.d/java.sh
第六步 编写Java脚本
脚本名称自定义即可,这里就拿abc举例
第七步 测试Java脚本
命令:javac abc.java
java abc
第八步 导入Tomcat包
第九步 解压相关包并优化路径
命令:tar xf [压缩包名]
第十步 启动Tomcat并查看端口
命令:/usr/local/tomcat/bin/startup.sh
第十一步 用浏览器访问测试
Tomcat虚拟主机配置
第一步 创建网页执行文件
mkdir /usr/local/tomcat/webapps/liu
mkdir /usr/local/tomcat/webapps/fang
echo "this is liu page\!" > /usr/local/tomcat/webapps/liu/index.jsp
echo "this is fang page\!" > /usr/local/tomcat/webapps/fang/index.jsp
第二步 修改配置文件
第三步 重启一下Tomcat
第四步 创建映射关系
第五步 用浏览器访问测试
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)