阅读 198

Tomcat服务器详解!详细说明Tomcat的安装部署和Tomcat的目录结构

Web基本概念

  • 软件架构:

    • C/S: 客户端/服务器端

    • B/S: 浏览器/服务器端

  • 资源分类:

    • 每个用户访问相同的资源后,得到的结果可能不一样. 称为动态资源

    • 动态资源被访问后,需要先转化为静态资源,再返回给浏览器,然后被浏览器解析

    • 比如 : servlet, jsp, php, asp...

    • 所有用户访问后,得到的结果都是一样的. 称为静态资源

    • 静态资源可以被浏览器直接解析

    • 比如 : html, css, JavaScript, jpg...

    • 静态资源:

    • 动态资源:

  • 网络通信三要素:

    • 基础协议:

    • TCP: 安全协议, 三次握手, 速度较慢

    • UDP: 不安全协议, 速度快

    • 传输协议:

    • IP: 计算机在网络中的唯一标识

    • 端口: 应用程序在计算机中的唯一标识,范围为0 - 65536 (2^16^)

Web服务器

  • 基本概念:

    • 服务器: 安装了服务器软件的计算机

    • 服务器软件: 接收用户的请求,处理请求,作出响应

    • Web服务器软件:

    • Web服务器软件中,可以部署Web项目,用户可以通过浏览器访问部署的Web项目

    • Web服务器可以接收用户的请求,处理请求,作出响应

  • Web服务器软件:

    • Tomcat: 仅仅支持少量的Java EE规范servletjsp

    • JBoss

    • webLogic

    • webSphere

Tomcat安装

  • Tomcat官网下载Tomcat的安装包

  • 将下载的Tomcat压缩包,解压到需要安装的目录下即可完成Tomcat的安装

Tomcat目录结构

目录目录下的文件描述
bin/存放Tomcat的启动,停止等批处理脚本文件

startup.bat
startup.sh
用于在WindowsLinux下的启动脚本

shutdow.bat
shutdown.sh
用于在WindowsLinux下的停止脚本
conf/用于存放Tomcat的相关配置文件

context.xml用于定义所有web应用均需加载的默认Context配置
如果web应用指定了自定义的Context.xml文件配置,该文件将被覆盖

catalina.propertiesTomcat的环境变量配置

catalina.policyTomcat运行的安全策略配置

logging.propertiesTomcat的日志配置文件,可以通过该文件修改Tomcat的日志级别和日志路径等

server.xmlTomcat服务的核心配置

tomcat-user.xml定义Tomcat默认的用户及角色映射信息配置

web.xmlTomcat中所有应用默认的部署描述文件,主要定义了基础ServletMIME映射
lib/Tomcat服务器的依赖包
logs/Tomcat默认的日志存放目录
webapps/Tomcat默认的应用部署目录
work/web应用JSP代码生成和编译的临时目录

Tomcat启动与停止

  • 在启动Tomcat之前要确保本机安装了Java环境,因为Tomcat是使用Java语言开发的

java -version 复制代码

  • 通过双击Tomcatbin目录下的启动脚本启动Tomcat

startup 复制代码

  • 访问Tomcat服务器主页

http://localhost:8080 复制代码

  • 通过双击Tomcatbin目录下的停止脚本停止Tomcat

shutdown 复制代码

Tomcat源码环境

  • Tomcat官网下载Tomcat源码

  • 解压源码,配置成Maven项目启动

  • 添加主目录home,并将conf,webapps目录移动到home目录中.创建pom.xml文件引入tomcat依赖

  • 配置IDEA启动类,配置MainClass : Bootstrap.Java

    org.apache.catalina.startup.Bootstrap 复制代码

    -Duser.language=en -Duser.region=US -Dfileencoding=UTF-8 -Dcatalina.home=/Users/chova/Documents/GitHub/SourceCode/tomcat/home -Dcatalina.base=/Users/chova/Documents/GitHub/SourceCode/tomcat/home -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/Users/chova/Documents/GitHub/SourceCode/tomcat/home/conf/logging.properties 复制代码

    • Bootstrap.java的逻辑中 ,JVM加载Bootstrap.class时,会去读取系统设置的catalina.home变量代表的路径作为Tomcat的安装路径

    • 如果项目启动时,没有设置catalina.home变量,会默认将当前路径作为Tomcat的安装路径

    • 如果同时没有设置Tomcat的工作路径catalina.base, 那么会将catalina.base的路径设置为catalina.home的变量

    • 因为当前源码路径不是Tomcat的安装路径,原因在于当前源码路径中没有Tomcat启动所需要的lib, 以及与catalina.base相关联的conf/, logs/ ,temp/, webapps/,work/ 等要与软件版本一致

    • 所以在下载源码时同时需要下载对应版本的Tomcat服务器软件安装包,用来给启动项目时指定catalina.home, 并且指定catalina.base

    • 问题: 为什么要配置 -Dcatalina.home=/Users/chova/Documents/GitHub/SourceCode/tomcat/home找到Bootstrap.java来启动main函数?

    • 配置VM参数:

    • 打开Run/Debug Configuration, 配置Main class

在这里插入图片描述

  • 完成配置,启动tomcat项目

  • Tomcat源码启动部署问题解决

  • 启动完成,访问Tomcat服务器:

localhost:8080


作者:攻城狮Chova
链接:https://juejin.cn/post/7031756302468513828


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐