目录

一、tomcat简介

二、TomCat的核心组件

1、tomcat由多个组件进行构成,但是其中有三个核心组件

2、tomcat对于请求的处理过程

3、配置文件

三、搭建一个tomcat框架


一、tomcat简介

什么是tomcat

tomcat服务器是一个开源的轻量级wed应用服务器,在中小型系统或者并发量较小的场合下,被普遍使用,是开发或者调试JSP程序首选。

相对于初学者而言,可以理解为,在一台机器上配置好apache服务器,可利用它响应HAML页面的访问请求。

tomcat可以认为是apache服务器的一个扩展,但是运行的时候是独立运行的,所以在你运行tomcat的时候,它实际上是作为一个apache独立的进程单独运行的。

二、TomCat的核心组件

1、tomcat由多个组件进行构成,但是其中有三个核心组件

1.web容器:负责底层的http协议

2.servlet容器:用于处理后端逻辑业务

3.jsp容器:用于将jsp动态网页翻译成servlet代码

多实例:多实例是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口进行提供服务

引擎:一般而言,引擎是一个程序或者一套系统的支持部分。较为城建的有搜索引擎,杀毒引擎等。

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN"><Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost"><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Context ><Context /></Host></Engine></Service>
</Server>

2、tomcat对于请求的处理过程

1、toncat启动一个server进程。可以开启读个server,即tomcat的多实例,但是一般只启动一个

2、创建一个service,提供服务。同上,也是可以创建多个service,但是一般也是只创建一个

3、每个service中,是Enginx和其connector的关联配置

4、可以为这个Service提供多个Connector,这些Connector使用了不同的协议,绑定了不同的端口。其作用就是处理来自客户端的不同的连接请求或响应

5、service 内部还定义了Engine,引擎才是真正的处理请求的入口,其内部定义多个虚拟主机Host

6、Engine对请求头做了分析,将请求发送给相应的虚拟主机

7、如果没有匹配,数据就发往Engine上的defaultHost缺省虚拟主机

8、Engine上的缺省虚拟主机可以修改

9、Host定义虚拟主机,虚拟主机有name名称,通过名称匹配

10、Context定义应用程序单独的路径映射和配置

3、配置文件

安装目录下的文件介绍

conf子目录

三、搭建一个tomcat框架

rpm安装之后,进入配置文件

cd /usr/java/jdk1.8.0_201-amd64/

进入配置文件,添加环境变量

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

刷新配置文件

source /etc/profile

安装apache,步骤略,可以直接官网找到tar包,解压即可

解压文件之后,直接复制一份,文件到local文件下,创建一个同名目录,或者直接解压到该目录下也可。

cp -r apache-tomcat-9.0.16 /usr/local/tomcat

启动toncat

/usr/local/tomcat/bin/startup.sh

确认没问题之后,先关闭服务

/usr/local/tomcat/bin/shutdown.sh

创建一个用户,然后修改tomcat所属文件的属主属组

useradd -s /sbin/nologin tomcat
chown tomcat:tomcat tomcat/ -R

编写tomcat.service文件

vim /etc/systemd/system/tomcat.service

创建文件之后,添加新的配置文件

[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target

加载新的unit文件

systemctl daemon-reload

启动服务

systemctl start tomcat

查看端口开启状况

ss -ntap |grep 8080

端口开启成功之后,进入网站访问该服务器查看页面,例如,下面的IP地址是我的当做服务器的设备的IP,因为端口是8080端口,所以直接访问8080端口即可

http://192.168.75.52:8080/

这样,一个框架就搭建好了,可以按照自己的需求搭建组件等等功能,这次就不详细介绍了

tomcat搭建与介绍相关推荐

  1. Nginx+Tomcat搭建集群环境

    Nginx+Tomcat搭建集群环境 ZeroOne01关注0人评论33534人阅读2018-05-05 14:15:39 集群概述与架构介绍 Tomcat集群能带来什么: 提高服务的性能,例如计算处 ...

  2. Tomcat搭建配置

    Tomcat搭建配置 一.介绍Tomcat 环境准备 关闭防火墙并设置开机不自启,配置SElinux规则. [root@localhost ~]# systemctl stop firewalld.s ...

  3. ftp服务器部署Tomcat项目,tomcat搭建ftp服务器配置

    tomcat搭建ftp服务器配置 内容精选 换一换 活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server ...

  4. 使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目环境,实现DevOps自动化步骤,很详细

    使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目,实现DevOps自动化 写在前头,入职公司不久,发现公司都是用的Jenkins来实现自动化项目部署,十分方便,但作为底层开 ...

  5. 使用tomcat搭建简易文件服务器

    使用tomcat搭建简易文件服务器,主要运用在需要存储视频,图片.文档等文件.可以作为文件上传上传下载的地址,在模拟项目开发中有一定作用: 下面就介绍如何使用tomcat搭建简易文件服务器 一.下载一 ...

  6. Tomcat容器入门介绍

    Tomcat容器入门介绍 Tomcat环境配置 PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了. 1.配置JDK 在Windows10下,找到环境变量 在环境变量中添加JDK主目录 ...

  7. Tomcat集群快速入门:Nginx+Tomcat搭建集群

    参数的一些扩展点,那刚刚讲的一些负载均衡策略,都是实际企业当中常用的,负载均衡策略,领着大家分析了优缺点,希望大家好好体会,百分之一百的吸收,那我们现在把这些参数和扩展的点呢,放到一个配置里,一起来给 ...

  8. Elasticsearch环境搭建和介绍(Windows)

    一.Elasticsearch介绍和安装 1.1 介绍  Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticse ...

  9. Struts+Tomcat搭建

    Struts+Tomcat搭建 tomcat使用(服务器端开发): 如果要安装Tomcat需要进行的配置:tomcat安装在c: \Tomcat CATALINA_HOME变量值设为: H:\Prog ...

最新文章

  1. APUE 学习笔记 - Chapter 6. System Data File and Infomation
  2. 江边上洗萝卜——一个个来
  3. ASP.NET AJAX web chat application
  4. python redis集群_Python3 redis集群连接 (带密码验证)
  5. 【机器学习】一篇白话机器学习概念
  6. 2012 Java陷阱
  7. getopt长参数(长选项)获取不到参数BUG
  8. 【剑指offer】字符串的排列
  9. cnpm 网络不能连接_(二十七)通俗易懂理解——Resnet残差网络
  10. druid java直接调用_Spring Boot使用Druid连接池的示例代码
  11. # 解析bt文件_磁力链接和BT种子使用方法
  12. 【洛谷1090】合并果子
  13. Hadoop系列之ToolRunner与GenericOptionsParser用法
  14. StreamingAssets文件夹的读取异常
  15. gradle项目启动报错_如何用IDEA创建SpringBoot Gradle多项目工程?
  16. [摘录]第5章 谈判原则
  17. Nagios社区真有意思
  18. matplotlib配色
  19. python讲师陈越_浙大陈越老师数据结构课件
  20. oracle中月初月末的表示

热门文章

  1. 【IoT】加密与安全:动态令牌 OTP、HOTP、TOTP 原理解析
  2. android客户端测试用例,测试开发笔记七(客户端测试平台)
  3. 实型数据在内存中的存放形式
  4. LeetCode 77 组合 -- 回溯法
  5. java escape html_Java HtmlEscape.escapeHtml5方法代码示例
  6. 页面滚动时触发动画特效 wow.js + Animate.css
  7. D. Playoff edu140 div2
  8. markdown文件的基本常用编写
  9. D3D中FVF的顺序
  10. 百度小程序入口在哪里怎么找到打开百度智能小程序?