• tomcat 部署及优化


    目录

    一、Tomcat 

    1、tomca简介

    2、tomcat核心组件

     3、Servlet是什么

    4、什么是 JSP

     5、tomcat功能组件结构

    5.1、Container 结构分析:

    5.2、tomcat的请求过程

    二、Tomcat服务部署 

    supervisor简介

    三、supervisor安装部署

    四、tomcat启动优化

     五、Tomcat 虚拟主机配置

    六、Tomcat多实例部署


    一、Tomcat 

    1、tomca简介

            Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。
    Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。一般来说,Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx,所以 Tomcat 通常是作为一个 Servlet 和 JSP 容器,单独运行在后端

    2、tomcat核心组件

    •         Web 容器:完成 Web 服务器的功能。
    •         Servlet 容器:名字为 catalina(凯特琳娜),用于处理 Servlet 代码。
    •         JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码

            因此 Tomcat 是 Web 应用服务器,也是一个 Servlet/JSP 容器。Tomcat 作为 Servlet 容器,负责处理客户的.jsp动态页面的请求,把请求传送给 Servlet,并将 Servlet 的响应传送回给客户。

     3、Servlet是什么

            大白话来说就是一个服务连接器 ,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建

    4、什么是 JSP

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

     5、tomcat功能组件结构

            Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service

    Connector:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
    Container:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。

    • Service:对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。
    • Connector:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
    • Container:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。
    • Service:对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。
    5.1、Container 结构分析:

            每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器:
    4个子容器的作用分别是:
    (1)Engine:引擎,用来管理多个虚拟主机,一个 Service 最多只能有一个 Engine;
    (2)Host:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点;
    (3)Context:代表一个 Web 应用,包含多个 Servlet 封装器;
    (4)Wrapper:封装器,容器的最底层。每一 Wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能。

    Engine、Host、Context 和 Wrapper,这四个容器之间属于父子关系。
    容器 由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个 Web 应用。每个 Web 应用会有多个 Servlet 封装器。

    5.2、tomcat的请求过程

            用户在浏览器输入网址  请求被发送到本机端口 8080,被在那里监听的 Connector 获得

            然后Connector把该请求发送给它的Engine来处理 并等带它的回应

            Engine根据域名传递给对应的虚拟主机Host容器

            Host容器根据URL路径传递给Context容器

            Context运行WEB网页程序

            Wrapper根据程序代码处理业务逻辑

    然后一层一层返回给Connector Connetcor返回给客户端

    下面是自己画的图 简单易懂                   

    二、Tomcat服务部署 

    先初始化一下虚拟机 懂得都懂 不演示了 具体翻看之前的博客

    1、安装JDK

    我这里有安装包 直接解压了 然后移动到 /usr/local下面  进入到里面就会看到JDK

    然后配置jdk环境变量

    vim /etc/profile

    保存退出 然后 source /etc/profile

    然后到根目录下 创建一个 XXX.java文件  我这里创建的是Hello.java文件

    配置内容如图

    保存退出

    此时 jdk环境变量配置好了

    安装tomcat

    此时 到浏览器访问本地路径

     出现tomcat服务  就是安装启动好了

     然后有个软件可以自动拉起各种服务 叫supervisor

    supervisor简介

    supervisor是Python开发的c/s服务,是Linux系统下的进程管理工具。

    可以监听、启动、停止、重启一个或多个进程

    用supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程的自动恢复的功能,不在需要自己写脚本来控制

    三、supervisor安装部署

    yum install -y supervisor  注意的是 需要把yum.d里面备份的镜像源移出来

    安装好后 vim /etc/supervisord.conf

    配置如下:

       

    然后

    tomcat.conf配置内容如下

     保存退出  然后systemctl start supervisord 启动

    验证:

    此时 服务是能自动被拉起的  说明  supervisor 也部署成功 

    四、tomcat启动优化

    先进入到

    配置内容如下:

    然后

     五、Tomcat 虚拟主机配置

    很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。
    例如现在新增两个域名 www.xy101.com 和 www.xy102.com, 希望通过这两个域名访问到不同的项目内容。

    配置内容如下:

    然后

    然后修改本机hosts文件 

    添加 域名 

    然后

    六、Tomcat多实例部署

    然后修改端口号

    第二个tomcat修改端口号的内容如下

    然后进入cd  tomcat/bin/     修改启动脚本

    配置文件如下

    然后修改停止脚本  配置一样

    然后 tomcat2和上面配置一样  启动脚本  停止脚本都这样配置

    然后我们启动两个 tomcat

    验证一下 两个端口号

    8080 能启动

    8081 也能启动   所以至此 多实列也配置好了

  • 相关阅读:
    java for语法
    docker 基本用法-操作镜像
    电脑重置 Win 10系统
    动态内存管理
    如何给git分支添加备注,更新远程分支
    nodejs在linux下的源代码方式安装
    并发与并行,同步和异步,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang并发编程之GoroutineEP13
    数据库SQL优化总结
    基于Android社区生鲜O2O订购系统设计与实现 毕业设计-附源码231443
    基于JAVA动物大全和智能识别系统(Springboot框架+AI人工智能) 开题报告
  • 原文地址:https://blog.csdn.net/qq_41043997/article/details/139454071