Tomcat部署以及虚拟主机

概论

Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat的组成

Tomcat 由一系列的组件构成,核心组件有以下三个:

(1)Web 容器:完成 Web 服务器的功能。

(2)Servlet 容器:名字为 catalina,用于处理 Servlet 代码。

Servlet :Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。

(3)JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码。

JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 <% 开头,以 %> 结束。

JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。

JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

Tomcat 功能组件结构

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

connnect连接器

暴露监听端口(默认为8080),接收客户端发来的请求和返回响应消息给客户端

container容器

负责处理用户请求页面的业务逻辑。由4个子容器 engine、host、context、wrapper(servlet) 组成(它们是父子关系)

子容器

engine:引擎,管理多个虚拟主机,一个container只有一个engine
host:一个host代表一个虚拟主机站点
context:管理web网页应用程序
wrapper:servlet封装器,负责处理业务逻辑,对象实例的创建、执行、销毁等动作

部署安装Tomcat

安装tomcat之前需要安装 jdk ,因为 jdk 是安装 tomcat 的必要环境

(1)上传 jdk 软件包到 /opt 目录

(2)解压压缩包

 tar xf jdk-8u391-linux-x64.tar.gz

(3)移动 jdk 目录到 /usr/local 目录

mv jdk1.8.0_391/ /usr/local/

(4)在 /etc/profile 设置JDK环境变量

vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

source /etc/profile

(5)上传 tomcat 软件包到 /opt 目录

(6)解压压缩包

tar xf apache-tomcat-8.5.16.tar.gz

(7)移动 tomcat 目录到 /usr/local/tomcat 目录中

 mv apache-tomcat-8.5.16 /usr/local/tomcat

(8)后台启动或前台启动 tomcat 进程 或前台启动

后台启动: /usr/local/tomcat/bin/startup.sh 
前台启动: /usr/local/tomcat/bin/catalina.sh run

(9)浏览器验证一下

http://192.168.80.80:8080/

Tomcat虚拟主机配置

(1)在 webapps 目录准备好各个虚拟主机站点使用的网页目录和测试网页文件

(2)修改tomcat主配置文件 server.xml 

  • 在 Engine 配置段下面添加多个 Host 配置段,并设置不同的虚拟机的配置参数(name="站点主机名" appBase="webapps)
  • 在每个 Host 配置段下面添加 Context 配置段,并设置每个虚拟主机所使用的网页程序的配置参数(docBase="webapps/XXX" path="")

Tomcat多实例部署

1)修改tomcat主配置文件 server.xml 中的三个端口号 8080  8005  8009,每个实例要不一样

2)修改tomcat启动停止脚本 startup.sh  shutdown.sh ,添加环境变量 export TOMCAT_HOME

 CATALINA_HOME  CATALINA_BASE 都指向每个实例各自的工作目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/705615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

黑苹果睡眠总是自动唤醒(RTC)

黑苹果睡眠总是自动唤醒【RTC】 1. 问题2. 解决方案2.1. 查看重启日志2.2. 配置Disable RTC wake scheduling补丁 3. 后续4. 参考 1. 问题 黑苹果EFI 更换后&#xff0c;总是在手动 睡眠后&#xff0c;间歇性重启&#xff0c;然后再次睡眠&#xff0c;然后再重启。原因归结为&…

界面控件DevExpress WinForms垂直属性网格组件 - 拥有更灵活的UI选择(一)

DevExpress WinForms垂直&属性网格组件旨在提供UI灵活性&#xff0c;它允许用户显示数据集中的单个行或在其90度倒置网格容器中显示多行数据集。另外&#xff0c;用户可以把它用作一个属性网格&#xff0c;就像在Visual Studio IDE中那样。 P.S&#xff1a;DevExpress Win…

【软件测试】遇到bug怎么分析,这篇文章值得一看

为什么定位问题如此重要&#xff1f; 可以明确一个问题是不是真的“bug” 很多时候&#xff0c;我们找到了问题的原因&#xff0c;结果发现这根本不是bug。原因明确&#xff0c;误报就会降低 多个系统交互&#xff0c;可以明确指出是哪个系统的缺陷&#xff0c;防止“踢皮球…

OneNet创建产品和设备

onenet平台网址 https://open.iot.10086.cn/console/device/manage/devs?pidn5Yw89el5t 产品创建二号设备创建在下文中具有详细讲解 选择设备管理后&#xff0c;点击蓝色的添加设备按钮来添加设备 点击添加设备后&#xff0c;进入如下界面。设备所属产品和设备名称如下图设置…

RK3568技术笔记 Ubuntu 安装VMware Tools

安装 VMware Tools 后可以直接使用复制粘贴功能拷贝 Ubuntu 系统和 windows 主机内的文件&#xff0c;非常方便。 开启虚拟机&#xff0c;必须要进入ubuntu系统后才能进行下面的步骤。 单击 VMware 软件中的标签“虚拟机”&#xff0c;在下拉的菜单中单击“安装VMware Tools &…

技术革新,智绘未来丨悦数图数据库 v5.0 重磅亮相 WAIC 2024

本次 WAIC&#xff08;世界人工智能大会&#xff09;2024 将于7 月 4 日- 7 日在上海世博展览馆**举行&#xff0c;本次 WAIC 2024 围绕“以共商促共享 以善治促善智”为主题&#xff0c;杭州悦数科技有限公司将携最新的悦数图数据库 v5.0 亮相 E805 展位。作为国内领先的图数据…

使用GPT/文心实现诗词作画

在教育领域中&#xff0c;古诗词一直是培养学生文化素养和审美能力的重要载体。选择合适的古诗词进行学习和欣赏&#xff0c;不仅能够增强他们的语言表达能力&#xff0c;还能促进他们对中国传统文化的理解和热爱。本文将结合AI技术&#xff0c;将古诗词转换为图画。 1、选择适…

WWDC 2024 回顾:Apple Intelligence 的发布与解析

一年一度的苹果全球开发者大会&#xff08;WWDC&#xff09;如期而至&#xff0c;2024 年的 WWDC 再次成为科技界的焦点。本次发布会中&#xff0c;苹果正式推出了他们在 AI 领域的全新战略——Apple Intelligence。这一全新概念旨在为用户打造“强大、易用、全面、个性化、注重…

setOptMode -holdTargetSlack与-holdSlackFixingThreshod

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 -holdTargetSlack与-holdSlackFixingThreshod这两个option都是针对hold slack的&#xff0c;前者限制slack的目标&#xff0c;默认是0&#xff0c;也就是说工具尽可能会收敛时序…

查分易怎么生成二维码

现在&#xff0c;家长和学生对于成绩查询的需求不断增长。教给各位新手教师一个简单又高效的查询工具——查分易小程序。可以为繁杂的工作做减法&#xff0c;也让学生和家长随时查看自己的学习情况。 查分易因为安全、便捷、高效&#xff0c;成为了众多学校和老师的首选。能够快…

【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器

​省流目录&#xff1a;适用于博客建站&#xff08;2-4G&#xff09;、个人开发/小型游戏[传奇/我的世界/饥荒]&#xff08;4-8G&#xff09;、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器&#xff08;16-64G&#xff09; 1.京东云-618专属活动 官方采购季专属活动地址&#x…

Python写UI自动化--playwright(元素定位)

本篇详细分享playwright如何进行打断点、元素定位、填写输入框、点击等操作 目录 一、PyCharm打断点进行调试 二、浏览器开发者模式检查元素 三、通过CSS或XPath进行定位 四、输入框输入文本操作 五、点击操作 总结 一、PyCharm打断点进行调试 如图所示&#xff0c;我们…

深度学习之激活函数

激活函数&#xff08;Activation Function&#xff09;是一种添加到人工神经网络中的函数&#xff0c;旨在帮助网络学习数据中的复杂模式。在神经元中&#xff0c;输入的input经过一系列加权求和后作用于另一个函数&#xff0c;这个函数就是这里的激活函数。 1. 为什么需要激活…

雷神电脑怎么找文件所在位置?四个方法让你轻松上手

在数字化时代&#xff0c;电脑文件的管理与存储显得尤为重要。对于使用雷神电脑的用户而言&#xff0c;了解如何快速定位文件所在位置&#xff0c;以及在文件丢失时采取有效的应对措施&#xff0c;是提升工作效率、保障数据安全的关键。本文将围绕这两个核心问题展开&#xff0…

怎么更快捷的修改图片大小?压缩图片jpg、png、gif的快捷方法

jpg作为最常用的一种图片格式&#xff0c;在遇到图片太大问题时&#xff0c;该如何操作能够快速在压缩图片jpg的大小呢&#xff1f;图片太大无法上传时目前常见的一个使用问题&#xff0c;只有将图片处理到合适的大小才可以正常在平台上传使用&#xff0c;一般情况下想要快速解…

Android帧绘制流程深度解析 (二)

书接上回&#xff1a;Android帧绘制流程深度解析 &#xff08;一&#xff09; 5、 dispatchVsync&#xff1a; 在请求Vsync以后&#xff0c;choreographer会等待Vsync的到来&#xff0c;在Vsync信号到来后&#xff0c;会触发dispatchVsync函数&#xff0c;从而调用onVsync方法…

自监督分类网络:创新的端到端学习方法

现代人工智能的快速发展中&#xff0c;分类任务的高效解决方案一直备受关注。今天&#xff0c;我们向大家介绍一种名为Self-Classifier的全新自监督端到端分类学习方法。由Elad Amrani、Leonid Karlinsky和Alex Bronstein团队开发&#xff0c;Self-Classifier通过优化同一样本的…

Web应用安全测试-认证功能缺陷

Web应用安全测试-认证功能缺陷 存在空口令 漏洞描述&#xff1a;认证登录环节允许空口令 测试方法&#xff1a; 找到网站登录页面&#xff0c;尝试输入用用户名&#xff0c;密码为空进行登录。 风险分析&#xff1a;攻击者可利用该漏洞登录网站后台&#xff0c;操作敏感数…

qmt量化交易策略小白学习笔记第30期【qmt编程之获取行业概念数据--如何获取板块分类信息数据以及板块成分股数据】

qmt编程之获取行业概念数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取行业概念数…