菜鸟学Linux 第101篇笔记 tomcat基本原理

简介:

菜鸟学Linux 第101篇笔记 tomcat基本原理




内容总览

java

tomcat 结构

tomcat 配置层次

安装tomcat

为tomcat提供服务脚本





JAVA EE APIs

EJB (Enterrpise JavaBeans)

JMS (Java Message Service)

JMX (Java Management Extensions)

JTA (Java Transaction API)

JavaMail



Java SE APIs

JNDI (Java Naming and Directory Interface)

JAXP (Java API for XML Processing)



JAVA EE application Servers 商业版

webserver IBM

weblogic Oracle

oc4j Oracle

JBoss RedHat

JOnAS 

Geronimo

Glassfish




 ASF Apache Software Foundation

  Jserve + TWS(Sun)--> tomcat (程序名称)

  catalina (代码名称)



tomcat 结构 

tomcat实例 server

service connectors

engine (web|servlet container jvm)

host

context



容器类组件

Engine, Host, Context


顶级组件

Server, service


Realm 用户账号数据库

Valve

记录访问日志

基于IP认证

...

logger 日志记录器



部署

将一个web应用程序所依赖到的类装载进jvm


tomcat 配置层次

<server>

<service>

<Connector />


<engine>

<host>

<context>

</context>

</host>

<host>

</host>

</engine>

</service>

</server>


顶级组件:位于整个配置的顶层

容器类: 可以包含其它组件的组件

连接器组件: 连接用户的请求至tomcat

被嵌套类的组件: 位于一个容器当中,不能包含其它组件


容器类:

engine: 核心容器 catalina引擎,负责通过connector接收用户请求

host: 类似于httpd中的虚拟主机,支持基于FQDN虚拟主机

context: 最内层的容器组件,一个context代表一个web应用程序;配置context的主机目的

 指定对应的webapp的根目录,还能为webapp指定额外的属性,如部署方式等


服务;

service  将连接器关联至engine 一个service内有多个connector,只有一个engine


顶级组件: server,表示一个运行于JVM中的tomcat实例


嵌套类组件:

valve: 拦截请求并再将其转至对应的webapp之前进行某种处理操作

logger: 日志记录器,用于记录组件 内部的状态信息

用于除context之外的任何容器中


realm 可以用于任何容器类组件中,关联一个用户认证库,实现认证和授权

UserDatabaseRealm 使用JNDI自定义的用户认证库

MemoryReal: tomcat-users.xml

JDBCRealm 基于JDBC连接至数据库中查找用户




部署:使用类加载器,为webapp准备好其依赖所有类



apache jserv protocal

二进制协议,使用httpd反向代理用户请求至tomcat时,在httpd和tomcat之间使用



安装tomcat

准备工作,必须先安装JDK才可以安装tomcat 


1. 下载tomcat 

tomcat是apache的一个项目,所以在apache官网里有下载地址

tomcat.apache.org

我下载的是tomcat7.0.33 二进制版本


2. 安装tomcat

# tar -xf apache-tomcat-8.5.11.tar.gz -C /usr/local/

# cd /usr/local/

# ln -sv apache-tomcat-8.5.11 tomcat


3. 添加环境变量

# vim /etc/profile.d/tomcat.sh 

添加如下两行

export CATALINA_HOME=/usr/local/tomcat

export PATH=$PATH:$CATALINA_HOME/bin


(至此tomcat安装完成)



查看tomcat版本

# catalina.sh version


启动一个tomcat

# catalina.sh start


APR: Apache Portable Runtime


为tomcat提供服务脚本

# vim /etc/init.d/tomcat

#!/bin/sh

# Tomcat init script for Linux.

#

# chkconfig: 2345 96 14

# description: The Apache Tomcat servlet/JSP container.

JAVA_HOME=/usr/java/latest

CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CATALINA_HOME


case $1 in

start)

$CATALINA_HOME/bin/catalina.sh start;;

stop)

$CATALINA_HOME/bin/catalina.sh stop;;

restart)

$CATALINA_HOME/bin/catalina.sh stop

sleep 2

$CATALINA_HOME/bin/catalina.sh start;;

*)

echo "Usage: `basename $0` {start|stop|restart}"

exit 1 ;;

esac


# chmod +x /etc/init.d/tomcat

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1897337如需转载请自行联系原作者


Winthcloud

相关文章
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
安全 Linux
【Linux】阻塞信号|信号原理
本教程从信号的基本概念入手,逐步讲解了阻塞信号的实现方法及其应用场景。通过对这些技术的掌握,您可以更好地控制进程在处理信号时的行为,确保应用程序在复杂的多任务环境中正常运行。
457 84
|
12月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
558 41
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
1060 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
12月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
718 17
|
12月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
406 18
|
12月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
627 11
|
12月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
323 10
|
12月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
410 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建