tomcat搭建与介绍
目录
一、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搭建与介绍相关推荐
- Nginx+Tomcat搭建集群环境
Nginx+Tomcat搭建集群环境 ZeroOne01关注0人评论33534人阅读2018-05-05 14:15:39 集群概述与架构介绍 Tomcat集群能带来什么: 提高服务的性能,例如计算处 ...
- Tomcat搭建配置
Tomcat搭建配置 一.介绍Tomcat 环境准备 关闭防火墙并设置开机不自启,配置SElinux规则. [root@localhost ~]# systemctl stop firewalld.s ...
- ftp服务器部署Tomcat项目,tomcat搭建ftp服务器配置
tomcat搭建ftp服务器配置 内容精选 换一换 活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server ...
- 使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目环境,实现DevOps自动化步骤,很详细
使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目,实现DevOps自动化 写在前头,入职公司不久,发现公司都是用的Jenkins来实现自动化项目部署,十分方便,但作为底层开 ...
- 使用tomcat搭建简易文件服务器
使用tomcat搭建简易文件服务器,主要运用在需要存储视频,图片.文档等文件.可以作为文件上传上传下载的地址,在模拟项目开发中有一定作用: 下面就介绍如何使用tomcat搭建简易文件服务器 一.下载一 ...
- Tomcat容器入门介绍
Tomcat容器入门介绍 Tomcat环境配置 PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了. 1.配置JDK 在Windows10下,找到环境变量 在环境变量中添加JDK主目录 ...
- Tomcat集群快速入门:Nginx+Tomcat搭建集群
参数的一些扩展点,那刚刚讲的一些负载均衡策略,都是实际企业当中常用的,负载均衡策略,领着大家分析了优缺点,希望大家好好体会,百分之一百的吸收,那我们现在把这些参数和扩展的点呢,放到一个配置里,一起来给 ...
- Elasticsearch环境搭建和介绍(Windows)
一.Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticse ...
- Struts+Tomcat搭建
Struts+Tomcat搭建 tomcat使用(服务器端开发): 如果要安装Tomcat需要进行的配置:tomcat安装在c: \Tomcat CATALINA_HOME变量值设为: H:\Prog ...
最新文章
- APUE 学习笔记 - Chapter 6. System Data File and Infomation
- 江边上洗萝卜——一个个来
- ASP.NET AJAX web chat application
- python redis集群_Python3 redis集群连接 (带密码验证)
- 【机器学习】一篇白话机器学习概念
- 2012 Java陷阱
- getopt长参数(长选项)获取不到参数BUG
- 【剑指offer】字符串的排列
- cnpm 网络不能连接_(二十七)通俗易懂理解——Resnet残差网络
- druid java直接调用_Spring Boot使用Druid连接池的示例代码
- # 解析bt文件_磁力链接和BT种子使用方法
- 【洛谷1090】合并果子
- Hadoop系列之ToolRunner与GenericOptionsParser用法
- StreamingAssets文件夹的读取异常
- gradle项目启动报错_如何用IDEA创建SpringBoot Gradle多项目工程?
- [摘录]第5章 谈判原则
- Nagios社区真有意思
- matplotlib配色
- python讲师陈越_浙大陈越老师数据结构课件
- oracle中月初月末的表示
热门文章
- 【IoT】加密与安全:动态令牌 OTP、HOTP、TOTP 原理解析
- android客户端测试用例,测试开发笔记七(客户端测试平台)
- 实型数据在内存中的存放形式
- LeetCode 77 组合 -- 回溯法
- java escape html_Java HtmlEscape.escapeHtml5方法代码示例
- 页面滚动时触发动画特效 wow.js + Animate.css
- D. Playoff edu140 div2
- markdown文件的基本常用编写
- D3D中FVF的顺序
- 百度小程序入口在哪里怎么找到打开百度智能小程序?