大神教你轻松驾驭Tomcat

admin5个月前笔记59

image.png对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

一、Tomcat体系架构

image.png

核心组件
server:相当于一个tomcat实例。接收并解析请求信息;完成相关动作后把响应结果返回给计算机。
service:每个server包含多个service,相互独立,仅共享JVM以及类库。用于把连接器(connector)与引擎(engine)关连起来,且一个service只能有一个engine,但是可以有多个connector。因为engine无法直接接受连接器发来的数据。
connector:负责开启socket并监听客户端请求、返回响应数据。多个connector监听多个端口
engine:负责具体的处理请求,connector仅仅负责监听,收到数据后交给engine运行。
host:在ngine中可以包含多个host,每个host定义了虚拟主机
context:每个context可以部署一个web应用。一个host可以存在多个context。如果部署多个应用需要分别对每个应用装载所依赖的库,这个步骤可以自动可以手动。
二、Tomcat的安装

tomcat其实就是一个JAVA程序,所以要运行在JAVA虚拟机中。要运行虚拟机就要先安装JDK。

1.JDK的安装

1.通过YUM安装

yum install java-1.8.0-openjdk-devel

2.配置环境变量

vim /etc/profile.d/java.sh
 export JAVA_HOME=/usr/java/latest                  # 首先定义JAVA_HOME的环境变量
 export PATH=$JAVA_HOME/bin:$PATH                   # 然后向后追加即可
2.Tomcat的安装

首先要从Tomcat的官网下载Tomcat,然后上传至服务器解压。 https://tomcat.apache.org

1.将下载的软件包解压
tar xf apache-tomcat-VERSION.tar.gz  -C /usr/local/
cd /usr/local

2.创建软连接,或者将解压的tomcat直接改名为tomcat也能达到同样的效果
ln -sv apache-tomcat-VERSION  tomcat 
3.添加环境变量
vim /etc/profile.d/tomcat.sh 
    export CATALINA_BASE=/usr/local/tomcat
    export PATH=$CATALINA_BASE/bin:$PATH  

4.创建tomcat需要的用户
useradd tomcat 

5.将安装包的路径下的所有属组都改为tomcat
chown -R root.tomcat /usr/local/tomcat                      # 设定所有者为root,所属组为tomcat
chown -R tomcat /usr/local/tomcat/{logs,temp,work,webapps}  # 仅将需要有写权限文件所有者改为tomcat
chmod g+r /usr/local/tomcat/conf                            # 默认没有权限,会导致启动失败

5.切换到tomcat用户最后启动服务即可
su - tomcat 
catalina.sh start                                   # 启动tomcat。catalina.sh命令需要先添加环境变量
三、Tomcat服务的配置文件结构
bin:   脚本、以及Tomcat自身所携带的工具包
conf:  Tomcat服务的配置文件目录;
lib:   库文件,Java类库,jar;
logs:  日志文件目录;
temp:  临时文件目录;
webapps:webapp的默认目录;相当于页面的根目录。部署的应用都应该在IC目录下
work:  工作目录,存放编译后的字节码文件;
四、部署测试页面

创建一个测试页面,将下面的步骤全部做完后,通过浏览器访问http://IP:8080/test 即可访问到测试的页面

1.创建文件夹
classes、lib、WEB-INF为一个标准应用应该有的目录,这里创建仅仅为了与标准看齐
mkidr  -pv  /usr/share/tomcat/webapps/test/{classes,lib,WEB-INF}
2.创建一个测试页面用于检验Tomcat服务是否能正常提供服务
3.重启服务
systemctl restart tomcat
4.部署完成后在webapp目录自动生成一些目录
cd  /usr/share/tomcat/work/Catalina             # 部署完成后自动生成的test目录下的文件
[root@localhost Catalina]# tree .
.
└── localhost                                   # 默认主机站点
    ├── _
    ├── docs
    ├── examples
    ├── host-manager
    ├── manager
    ├── sample
    └── test                                    # webpp应用名称。自动生成以下目录
        └── org
            └── apache
                └── jsp
                    ├── index_jsp.class
                    └── index_jsp.java


相关文章

数据库是否自增主键呢?

数据库是否自增主键呢?

1 是否每张表都应该有自增主键?不一定自增主键可以加快行的插入速度,对于表的空间利用上有优势,碎片化不明显。但是对一些内容,如根据uid的查询非常频繁的,而且比较集中的,那如果不用自增主键,而是使用u...

matlab如何实现LDLT分解(改进的平方根法)

matlab如何实现LDLT分解(改进的平方根法)

前言提示:本篇博客仅提供函数代码,不进行数学推导!需要了解数学推导的uu请移步其他博客!笔者这学期选修了数值计算这门课程。一次实验报告中需要自行编写LDLT分解的函数,并在脚本文件中调用此函数,返回求...

Redis入门指南

Redis入门指南

一、安装RedisRedis配置文件:/etc/redis.confRedis主程序:/usr/bin/redis-server客户端工具:/usr/bin/redis-cli默认监听端口:6379数...

详解CentOS通过日志反查入侵

详解CentOS通过日志反查入侵

1 查看日志文件Linux查看/var/log/wtmp文件查看可疑IP登陆last -f /var/log/wtmp该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行...

利用英特尔 Gaudi 2 和至强 CPU 构建经济高效的企业级 RAG 应用

利用英特尔 Gaudi 2 和至强 CPU 构建经济高效的企业级 RAG 应用

检索增强生成 (Retrieval Augmented Generation,RAG) 可将存储在外部数据库中的新鲜领域知识纳入大语言模型以增强其文本生成能力。其提供了一种将公司数据与训练期间语言模型...

linux下vsftpd系统虚拟帐户使用

linux下vsftpd系统虚拟帐户使用

一、需求1、系统帐号和虚拟帐号这是一个相当复杂的需求,系统上一些采集系统走的ftp进行采集的。历史积累下来的,最早都是直接在OS上创建系统帐号再ftp登录(shell大部分设置为/bin/false或...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。