• Tomcat10下载安装及各个线程作用详解


    在这里插入图片描述

    下载

    官网下载最新版本
    https://tomcat.apache.org/download-10.cgi

    国内镜像下载地址
    https://mirrors.cnnic.cn/apache/tomcat/

    启动

    Windows
    环境解压后直接到bin目录双击startup.bat即可启动
    在这里插入图片描述
    Linux
    先解压文件

    tar -zxvf apache-tomcat-10.0.23.tar.gz

    解压后在bin文件下启动

    sh startup.sh
    在这里插入图片描述

    默认端口8080,访问出现以下界面
    在这里插入图片描述

    失败处理

    若未访问成功
    查看防火墙及端口是否打开或端口是否被占用

    防火墙状态查看:firewall-cmd --state
    查看所有打开的端口: netstat -anp
    查询指定端口是否已: firewall-cmd --query-port=8080/tcp
    添加端口: firewall-cmd --zone=public --add-port=8080/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
    重新载入: firewall-cmd --reload
    查看端口: firewall-cmd --zone= public --query-port=8080/tcp
    删除端口: firewall-cmd --zone= public --remove-port=8080/tcp --permanent

    若端口被占用,修改端口
    进入conf文件夹,修改 server.xml文件
    在这里插入图片描述

    线程说明

    查看tocmat进程

    ps -ef|grep tomcat
    在这里插入图片描述进程442325,继续查看进程中的线程情况

    方式一

    ps -T -p 442325

    在这里插入图片描述
    方式二

    top -H -p 442325

    在这里插入图片描述

    Main 主要线程,其主要作用是通过启动包来对窗口进行点火,作用就是把窗口组件拉起来,然后阻塞在8005端口,等待关闭。
    AsyncFileHandlerWriter 该线程是用于异步文件处理的,日志输出线程。
    Catalina-utility 工具线程,在后台定期检查Session是否过期、定期检查Web应用是否更新(热部署热加载)、检查异步Servlet的连接是否过期等等。
    exec线程 主要工作线程,默认开启10个,接收poller线程丢过来的io事件,主要工作是http协议解析,接收Request和Response, 然后调用Tomcat后端的容器。
    Acceptor 前端最外层的线程,负责统一接收socket请求,Acceptor处理完之后的交接线程在bio和nio模式中略有差异。
    ClientPoller nio模式中的特有线程,reactor模式的实现者,具体负责接收acceptor线程交接过来的事件,对事件轮询后交接给exec线程处理。
    NioBlockingSelector.BlockPoller 负责Servlet的输入和输出。

    昨夜西风凋碧树。独上高楼,望尽天涯路

  • 相关阅读:
    如何在Robosuite中导入自建的物体模型
    软考 --- 数据库(3)数据操作
    ST表倒序释放:1019T1
    this 的五种绑定方式(默认 / 隐式 / 显式 / new 构造函数 / 箭头函数)
    学 Python 这么久,终于把类函数 & 成员函数 & 静态函数给整明白了!
    如何从现有镜像创建 Dockerfile
    运维网关系列1:开发网关的初衷
    更新预告│JNPF3.4.5即将上线,快来看看吧!
    spring boot集成flyway快速入门demo
    Typescrip编译选项
  • 原文地址:https://blog.csdn.net/qq_35764295/article/details/126014834