【华为根技术】欧拉操作系统下部署Tomcat服务器

举报
tea_year 发表于 2024/12/26 22:40:44 2024/12/26
【摘要】 简介Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat支持最新的Servlet和JSP规范。因为Tomcat 技术先进、性能稳定,而且免费,...

简介

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat支持最新的Servlet和JSP规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。


工作原理图示

组件分工:

• 连接器Connector:处理 Socket 连接,负责网络字节流与 Request 和 Response 对象的转化。

• 容器Container:加载和管理 Servlet,以及具体处理 Request 请求。

Tomcat的架构分为以下几个部分:

Server:指的就是整个 Tomcat 服务器,包含多组服务(Service),负责管理和启动各个Service,同时监听 8005 端口发过来的 shutdown 命令,用于关闭整个容器 。

Service:每个 Service 组件都包含了若干用于接收客户端消息的 Connector 组件和处理请求的 Engine 组件。 Service 组件还包含了若干 Executor 组件,每个 Executor 都是一个线程池,它可以为 Service 内所有组件提供线程池执行任务。 Tomcat 内可能有多个 Service,这样的设计也是出于灵活性的考虑。通过在 Tomcat 中配置多个 Service,可以实现通过不同的端口号来访问同一台机器上部署的不同应用。

Connector:Tomcat 与外部世界的连接器,监听固定端口接收外部请求,传递给 Container,并将Container 处理的结果返回给外部。连接器对 Servlet 容器屏蔽了不同的应用层协议及 I/O 模型,无论是 HTTP 还是 AJP,在容器中获取到的都是一个标准的 ServletRequest 对象。

Container:Tomcat的容器,负责管理Servlet、JSP和静态资源的生命周期。Tomcat 通过一种分层的架构,使得 Servlet 容器具有很好的灵活性。Tomcat 设计了 4 种容器,分别是 Engine、Host、Context 和 Wrapper。这 4 种容器不是平行关系,而是父子关系。

Engine:Tomcat的引擎,管理容器的生命周期和分配请求。Servlet 的顶层容器,用来管理多个虚拟站点,一个 Service 最多只能有一个 Engine;

Host:Tomcat的主机,可以管理多个Web应用程序。负责 web 应用的部署和 Context 的创建。可以给 Tomcat 配置多个虚拟主机地址,而一个虚拟主机下可以部署多个 Web 应用程序;

Context:Tomcat的上下文,用于管理单个Web应用程序的配置信息。Web 应用上下文,包含多个 Wrapper,负责 web 配置的解析、管理所有的 Web 资源。一个Context对应一个 Web 应用程序。

Wrapper:表示一个 Servlet,最底层的容器,是对 Servlet 的封装,负责 Servlet 实例的创建、执行和销毁。

JSP:Tomcat的JSP,用于动态生成Web内容


本教程介绍在华为云欧拉系统上安装部署Tomcat

第一步:首先,你需要在华为云购买申请一台云主机

第二步:点击“进入桌面”之后,进入到云主机的桌面,如下图所示:

第三步:单击任务栏的“Terminal终端”图标,输入下面2个指令:

sudo -i

dnf install java-1.8.0-openjdk 安装openjdk。

第四步:查看jdk是否安装成功?显示jdk版本号表示已经成功。

第五步:执行令安装tomcat的指令:

dnf install tomcat

在需要输入选择项的时候,输入“y”,当出现“Complete”的时候,表示安装成功。Tomcat的安装目录是“/usr/share/tomcat”。

第六步:配置JDK的环境变量

export LC_ALL="zh_CN.UTF-8"

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-5.oe2203.x86_64/jre

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME

适用下面指令使环境变量生效

source /etc/profile

第七步:查看conf下的配置文件

cd /usr/share/tomcat/conf

使用ll指令查看该目录下的文件

第八步:可以通过server.xml设置主机地址、端口号等信息,本处只做查看,不做设置。

第九步:启动tomcat服务,并查看tomcat的状态

第十步:测试是否可以tomcat服务器可以访问

在“华为云主机”桌面,打开浏览器,输入地址“http://localhost:8080”,如下图所示表示tomcat服务器配置成功。


总结

1. 安全性考虑与优化建议

在生产环境中部署Tomcat时,应优先考量安全性和性能优化。首先,确保Tomcat仅开放必要的端口,避免暴露过多服务。其次,定期更新Tomcat及其相关组件,防止已知漏洞被利用。最后,通过调整JVM参数和Tomcat配置,提升应用性能和稳定性。建议结合实际业务需求进行性能调优和安全防护策略的实施。

2. 常见问题与解决方案汇总

• Tomcat无法启动:检查日志文件(通常位于$CATALINA_HOME/logs目录下),确认错误原因并修正相关问题,如配置文件错误、端口占用等。

• 权限问题: 确保Tomcat进程有权访问所需资源和端口,特别是在高安全性环境下运行时。使用Systemd管理Tomcat服务时,需注意文件权限和用户切换配置。

• 性能瓶颈: Tomcat默认配置可能不适用于高并发场景,需根据实际负载情况调整线程池大小、连接数等参数。监控工具如Grafana和Prometheus可以帮助实时监控系统性能。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。