Tomcat
admin
2023-03-09 22:42:06
0

1. Tomcat 简介

tomcatWeb Container 的开源实现, 是一个轻量级的 web 服务器, 是开发和调试 JSP 程序的首选

1.1. Tomcat 架构组件
  • Server: Tomcat 的一个实例, 通常一个 JVM 只能包含一个 Tomcat 实例; 是 Tomcat 中的顶级组件, 一个 Server 包含一个或多个 Service
  • Service: Service 调用 Servlet Engine, 用于处理客户端请求
  • Connectors: 负责连接客户端请求至 Servlet 容器内的 Web 应用程序, 通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是 HTTP 协议的 8080, 一个引擎可以配置多个连接器, 但这些连接器必须使用不同的端口; 默认的连接器是基于 HTTP/1.1Coyote
  • Engine: Engine 是指处理请求的 Servlet 引擎组件, 它检查请求的 HTTP 首部信息以辨别请求应该发往哪个 hostcontext, 并将请求处理后的结果返回的相应的客户端
  • Host: Host 组件类似于 Apache 中的虚拟主机, 但在 Tomcat 中只支持基于 FQDN"虚拟主机"。并且一个引擎至少要包含一个主机
  • Context: Context 组件是最内层次的组件, 它表示 Web 应用程序本身; 配置一个 Context 最主要的是指定 Web 应用程序的根目录, 以便 Servlet 容器能够将用户请求发往正确的位置

2. 部署 Tomcat 9

2.1. 安装 Tomcat
[root@localhost ~]# yum -y install java-1.8.0-openjdk.x86_64
[root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
[root@localhost ~]# tar xvf apache-tomcat-9.0.24.tar.gz -C /usr/local/
[root@localhost ~]# ln -s /usr/local/apache-tomcat-9.0.24/ /usr/local/tomcat
[root@localhost ~]# cat > /etc/profile.d/java.sh << EOF
export CATALINA_HOME=/usr/local/tomcat
export PATH=\${CATALINA_HOME}/bin:\${PATH}
EOF
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# exec bash
[root@localhost ~]# catalina.sh start
2.2. Tomcat 目录结构
bin  可执行脚本
lib  运行时依赖的库文件
logs 日志文件
work Tomcat 的工作目录
conf 配置文件
    server.xml: Tomcat 的主配置文件, 包含 Service, Connector, Engine, Realm, Valve, Hosts 等组件的相关配置信息
    web.xml: 遵循 Servlet 规范标准的配置文件, 用于配置 servlet, 并为所有的 Web 应用程序提供默认配置信息
    tomcat-user.xml: 用户认证时用到的相关角色、用户和密码等信息
    context.xml: 所有 host 的默认配置信息
    catalina.policy: Java 相关的安全策略配置文件, 在系统资源级别上提供访问控制的能力
    catalina.properties: Tomcat 内部 Package 的定义及访问相关的控制
    logging.properties: 日志记录相关的配置信息

webapps: web 应用所在目录, web 资源的存放目录
    docs: 帮助文档
    examples: 配置示例
    host-manager: 虚拟主机管理
    manager: Tomcat 管理
    ROOT: 默认访问目录

    每个应用程序目录下都有几个同样的目录
        WEB-INF:当前webapp的私有资源,通常存放当前webapp的web.xml文件
        META-INF:当前webapp的私有资源,通常存放当前webapp的context.xml文件
        classes:当前webapp的私有类
        lib:当前webapp的私有类,打包为jar格式
        index.jpg:当前webapp的首页
2.3. 部署 webapp
冷部署: 把 webapp 复制的指定目录之后重启 Tomcat
热部署: 在不停止 Tomcat 的前提下部署 webapp
    部署工具: manager(Tomcat 的管理页面)
反部署: 停止 webapp 并从 Tomcat 实例中拆除其相关文件

stop: 停止 webapp
start: 启动 ebapp
redeploy: 重新部署
2.4. 在 Tomcat 中部署 Jenkins
[root@localhost ~]# wget -O /usr/local/tomcat/webapps/jenkins.war http://mirror.serverion.com/jenkins/war-stable/2.176.3/jenkins.war
[root@localhost ~]# catalina.sh stop
[root@localhost ~]# catalina.sh start

相关内容

热门资讯

不止聂永真,九把刀拿了上亿补助... 海峡导报综合报道 台电(台湾电力公司)近日更换新的LOGO引发争议,尤其是现在台电还在亏损3000多...
阿根廷法医披露马拉多纳去世前状... 阿根廷一名法医日前在足球名宿迭戈·马拉多纳死亡案件的审判中表示,马拉多纳去世前遭受了约12个小时的痛...
斯洛伐克总理在俄表态:我是欧盟... 【环球网报道 记者 索炎琦】据俄罗斯《消息报》《乌克兰真理报》等媒体报道,斯洛伐克总理菲佐8日在莫斯...
日媒炒作:日本政府计划新设“对... 【环球网报道 记者 林泽宇】据日本《读卖新闻》、全日本新闻网5月9日报道,日本政府计划在2027年末...
与伊朗战争有关,阿联酋被曝大规... 美以对伊朗的战争搅动地区局势,巴基斯坦致力于通过外交途径结束战争。然而据美媒爆料,遭到伊朗猛烈打击的...
腾格里沙漠的光伏电,一度只值5... 【文/观察者网科工力量 石燕红】4月下旬,我们沿着腾格里沙漠的南缘跑了几天。在宁夏中卫,国家能源集团...
郑州古荥城市更新一期097地块... 【大河财立方 记者 陈诗昂】 郑州市惠济区古荥城市更新(一期)项目(下称古荥一期项目)迎来新进展。5...
赋能高端算力自主化!我国首台双... 由中国科学院牵头,联合武汉大学、华中科技大学和武汉量子技术研究院等团队联合研发的国内首台双核原子量子...
凝聚品牌力量 共筑美好未来——... 五月的莫干山,竹林叠翠,生机盎然。5月9日至12日,2026世界品牌莫干山大会将在浙江省湖州市德清县...
四部门发文!促进人工智能与能源... 【大河财立方消息】 5月8日,据国家能源局微信公众号,国家能源局近日会同国家发展改革委、工业和信息化...