linux Tomcat安装及简易服务

简介

tomcat是一个免费的开源的Web应用服务器,属于轻量级应用服务器

tomcat与apache或nignx相比,处理静态html能力不足这两个,所以tomcat通常作为一个servlet和jsp容器,单独运行在后端

组件

web——servlet——jsp

Web容器
完成Web服务器功能

Servlet容器
catalina,处理Servlet代码

JSP容器
用于把JSP动态网页翻译成Servlet代码

JavaServlet

JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI (公共网关接口)功能相类似

Java Server Pages (JSP)

一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常 以<%开头 以%>结束
JSP是一 种Java servlet,主要用于实现Java web应用程序的用户界面部分
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

请求过程

1.用户在浏览器中输入该网址,请求被发送到本机端口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

编译安装

软件包

jdk-8u91-linux-x64.tar.gz
jdk-8u201-linux-x64.rpm
两种都可 取其一

apache-tomcat-9.0.16.tar.gz

安装tomcat之前,需要安装好 jdk,

在这里插入图片描述
在这里插入图片描述
在 /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security 文件中
在这里插入图片描述

在这里插入图片描述

目录作用
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存放项目资源的目录
workTomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到

在这里插入图片描述

虚拟主机配置

在这里插入图片描述

在这里插入图片描述
Host name:主机名
appBase:Tomcat程序工作目录,相对路径为webapps,绝对路径为 /usr/local/tomcat/webapps,类似于http的/var/www/html和apache的/usr/local/htppd/htdocs 即默认站点目录

unpackWARs:在启用此webapps时是否对WAR格式的归档文件先进行展开;默认为true

autoDeploy:在Tomcat处于运行状态时放置于appBase目录中的应用程序文件是否自动进行deploy;默认为true

xmlValidation:是否验证xml文件执行有效性检验的标志

xmlNamespaceAware:是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验

docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;切记,docBase的路径名不能与相应的Host中appBase中定义的路径名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字

path:相对于Web服务器根路径而言的URI;如果为空“ ”,则表示为此webapp的根路径;如果context定义在一个单独的xml文件中,此属性不需要定义,有可能是别名

reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

部分配置参数的优化

  1. maxThreads Tomcat 使用线程来处理接收的每个请求,这个值表示Tomcat 可创建的最大的线程数,默认值是200。
  2. minSpareThreads 最小空闲线程数,Tomcat 启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是10。
  3. maxSpareThreads 最大备用线程数,一旦创建的线程超过这个值,Tomcat 就会关闭不再需要的socket 线程。默认值是-1 (无限制)。一般不需要指定。
  4. URIEncoding 指定 Tomcat 容器的 URL 编码格式,语言编码格式这块倒不如其它 Web 服务器软件配置方便,需要分别指定。
  5. connnectionTimeout 网络连接超时,单位:亳秒,设置为 0 表示永不超时,这样设置有隐患的。通常默认20000亳秒就可以
  6. enableLookups 是否反查域名,以返回远程主机的主机名,取值为: true 或 false, 如果设置为false, 则直接返回IP地址,为了提高处理能力,应设置为false。
  7. disableUploadTimeout 上传时是否使用超时机制。应设置为true
  8. connectionUploadTimeout 上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使Servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。
  9. acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100 个。
  10. compression 是否对响应的数据进行GZIP压缩,off:表示禁止压缩; on:表示允许压缩 (文本将被压缩)、force:表示所有情况下都进行压缩,默认值为off,压缩数据后可以有效的减少页面的大小,一般可以减小1/3左右,节省带宽
  11. compressionMinSize 表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是2048
  12. compressableMimeType 压缩类型,指定对哪些类型的文件进行数据压缩
  13. noCompressionUserAgents=“gozilla, traviata” 对于以下的浏览器,不启用压缩

如要进行参数优化
在主配置文件 /usr/local/tomcat/conf/server.xml 中
Connetor里进行添加
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值