IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux:Tomcat 安装配置详解 -> 正文阅读

[系统运维]Linux:Tomcat 安装配置详解

目录

一、Tomcat 简介

二、Tomcat核心组件

三、Tomcat组件组成部分

四、Tomcat的运行模式

五、安装Tomcat?

六、Java WebAPP组织架构

七、部署(deployment)webapp相关的操作


一、Tomcat 简介

??Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选

二、Tomcat核心组件

catalina: servlet container:是Servlet容器,Catalina包含了所有的容器组件,其他模块均为Catalina提供支

Coyote: http connection:Coyote模块提供连接通信

Jasper: JSP Engine:Jasper模块提供JSP引擎

三、Tomcat组件组成部分

Tomcat Instance:运行中的Tomcat进程(Java进程)

Server:即一个Tomcat实例(每一个Server就是一个实例)
Service:用于将connection关联至engine组件;一个service只能包含一个engine组件和一个或多个connector组件
Connector:接入并解析用户请求,将请求映射为Engine心中运行的代码;之后,将运行结果构建成相应报文;如:http,ajp
Engine:Tomcat的核心组件,用户运行jsp或servlet代码;
Host:类似Httpd中的虚拟主机
Context:类似Httpd的虚拟机;正常情况下应该是这样访问:http://localhost:端口号/项目名;想要用户输入URL就可以访问到,就需要我们来配置:访问这个路径下:/项目名/,所需要加载的资源路径,每一个这样单独的组件我们称之为webapp,可以单独部署

注意:每个组件都是由"类"来实现,有些组件的实现还不止一种

  • 顶级类组件:server
  • 服务类组件:service
  • 容器类组件:即可以部署webapp的组件,engine,host,context
  • 连接器组件:connector
  • 被嵌套类组件:valve,logger,realm

四、Tomcat的运行模式

1、standalone:通过内置的web server(http connector)来接受客户端的请求;

3、Proxy:由专门的 web server服务客户端的http请求;【in-process:部署于同一主机;network:部署于不同的主机】;

  • Tomcat需要保持会话:【可以进行USERID绑定,Cookies绑定,IP绑定】用户前端交互
  • 如果的在代理中其中一台主机宕机了,会话就会丢失,要使会话不丢失我们可以采用:1、Session集群在各节点之间共享,2、共享Session Server 把所有的Session 放到Session Service上
    ?

五、安装Tomcat?

下载地址:http://tomcat.apache.org/

部署前提:jak:Oracel JDK;OpenJDK

[root@localhost opt]#?35 ?yum install java-1.8.0-openjdk.x86_64? ?#安装JDK

[root@localhost opt]# tar -xf apache-tomcat-8.5.71.tar.gz? ? ? ? ? ? ? ? #安装Tomcat

[root@localhost apache-tomcat-8.5.71]# cat /etc/profile.d/tomcat.sh? ?#Tomcat环境变量
export CATALINA_HOME=/opt/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
[root@localhost ~]# catalina.sh start? ? ? ? ? ? ? ?#启动Tomcat

?

Tomcat 的目录结构:

  • bin:脚本及启动时用到的类
  • lib: 类库
  • conf: 配置文件
  • logs: 日志文件
  • webapps: 应用程序默认部署目录
  • work:工作目录
  • temp:临时文件目录

配置文件

  • server.xml: 主配置文件
  • context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的WEB-INF目录中,用于定义会话管理器、JDBC等;conf/context.xml是为各webapp提供默认配置;
  • web.xml:每个webapp“部署”之后才能被访问;此文件则用于为所有的webapp提供默认部署相关的配置;
  • tomcat-users.xml:用户认证的账号和密码配置文件;
  • catalina.policy:当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略;
  • catalina.properties:Java属性的定义文件,用于设定类加载器路径等,以及一些JVM性能相关的调优参数;
  • logging.properties:日志相关的配置信息;

六、Java WebAPP组织架构

Java WebAPP 组织结构:

  • 有特定的组织形式、层次型的目录结构;主要包含了servlet代码文件、JSP页面文件、类文件、部署描述符文件等;/usr/local/tomcat/webapps/app1/
  • /: webapp的根目录;
  • WEB-INF/:当前webapp的私有资源目录,通常存放当前webapp自用的web.xml;
  • META-INF/:当前webapp的私有资源目录,通常存放当前webapp自用的context.xml;
  • classes/: 此webapp的私有类;
  • lib/: 此webapp的私有类,被打包为jar格式类;
  • index.jsp:webapp的主页

webapp归档格式

  • .war:webapp;
  • .jar:EJB的类;
  • .rar:资源适配器;
  • .ear:企业级应用程序;?

七、部署(deployment)webapp相关的操作

deploy:部署,将webapp的源文件旋转于目标目录、配置tomcat服务器能够基于context.xml文件中定义的路径来访问此webapp; 将其特有类通过class loader装载至tomcat;

有两种方式:

  • 自动部署:auto deploy
  • 手动部署:
    • 1、冷部署:把webapp复制到指定位置,而后才启动tomcat;
    • 2、热部署:在不停止tomcat的前提下进行的部分:【部署工具:manager、ant脚本、tcd(tomcat client deployer)等;】

undeploy:反部署,停止webapp,并从tomcat实例拆除其部分文件和部署名;

stop:停止,不再向用户提供服务;

start:启动处于“停止”状态的webapp;

redeploy:重新部署;

tomcat自带的应用程序

  • manager app: webapp管理工具
  • host manager:Virtual Hosts管理工具

tomcat的主配置文件结构:

?? ??? ?<server attribute="value" attribute2="value">
?? ??? ??? ?<service>
?? ??? ??? ??? ?<connector />
?? ??? ??? ??? ?<connector />
?? ??? ??? ??? ?<engine >
?? ??? ??? ??? ??? ?<host name="">
?? ??? ??? ??? ??? ?</host>
?? ??? ??? ??? ??? ?<host name="">
?? ??? ??? ??? ??? ?</host>
?? ??? ??? ??? ??? ?<host name="">
?? ??? ??? ??? ??? ??? ?<context />
?? ??? ??? ??? ??? ??? ?<context />?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?</host>?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ?</engine>
?? ??? ??? ?</service>
?? ??? ?</server>

AJP: apache jserv protocol, 二进制协议;

?

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 15:02:37  更:2021-09-22 15:04:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:46:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码