zoukankan      html  css  js  c++  java
  • java架构之路-(tomcat网络模型)简单聊聊tomcat(一)

      tomcat使我们熟知的也是我们使用最多的web服务器了,至少我是使用最多的。常见的web服务器还有Apache,web logic,JBOSS等,对于tomcat的安装我就不再赘述了,简单的不能再简单了,不会安装的,建议你学学基础。

    官方地址:http://tomcat.apache.org/ 现在已经发布了tomcat9版本。我们下面说的都是以tomcat8.5为例来说的。

    我们先来看个图

     我们可以看到一个tomcat服务一个可以有一个Server,一个Server可以包含多个Service,一个Service可以包含多个Connector(连接器,这个是重点要说的)。然后在由Connector去找到只有一个的Engine,由Engine(引擎)通过URL发送到不同的Host里面去,再由Host判断请求路径发送到Context中。

      我们来详细的说一下每一项配置:/conf/server.xml

     最上面,最外层就是我们的Server端口8005,可以执行SHUTDOWN(必须大写)

     然后就是我们的Service,name属性可以随便写,Service也可以配置多个。

     Connector连接器也是最重要的连接器,我们来看一下配置。

    port对应端口号,不要冲突

    protocol是监听协议,默认是HTTP/1.1,我们可以配置为protocol="org.apache.coyote.http11.HttpNioProtocol" ,也就是我我们NIO模型。

    minThread服务器启动时创建的处理请求的线程数

    maxThread最大可以创建的处理请求的线程数

    enableLookups如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址

    redirectPort指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号

    acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

    connectionTimeout指定超时的时间数(以毫秒为单位)

    URIEncoding设置编码格式

    SSLEnabled 是否开启 sll 验证,在Https 访问时需要开启。

    我都来配置一下。

     有几项我并没有配置,里面是需要jar包支持的。下一个博客会说。

    遇到tomcat启动慢的时候我们可以设置

    打开文件
    /usr/java/jdk1.8.0/jre/lib/security/java.security

    在文件中找到securerandom.source这个设置项,将其改为:
    securerandom.source=file:/dev/./urandom

    最进弄了一个公众号,小菜技术,欢迎大家的加入

  • 相关阅读:
    容器跨主机网络通信学习笔记(以Flannel为例)
    Kubernetes控制器Job和CronJob
    记一次使用Flannel插件排错历程
    Kubernetes控制器Deployment
    Kubernetes如何通过StatefulSet支持有状态应用?
    react18 来了,我 get 到...
    gojs 实用高级用法
    vuecli3 vue2 保留 webpack 支持 vite 成功实践
    calibre 报错 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 解决
    unable to recognize "*.yaml": no matches for kind "RoleBinding" in version "rbac.authorization.k8s.io/v1beta1"
  • 原文地址:https://www.cnblogs.com/cxiaocai/p/11452526.html
Copyright © 2011-2022 走看看