写点什么

828 华为云征文 |Flexus X 实例与华为云 EulerOS 的 Tomcat 安装指南

作者:YG科技
  • 2024-12-24
    海南
  • 本文字数:2869 字

    阅读完需:约 9 分钟

前言

Tomcat 是一个由 Apache 软件基金会开发并维护的免费、开源的 Web 应用服务器。它主要用于处理 Java Servlet、JavaServer Pages(JSP)和 JavaServer Pages Standard Tag Library(JSTL)等 Java EE 技术,同时也可以作为静态内容的 Web 服务器。由于其轻量级、跨平台、易于部署和配置的特点,Tomcat 成为了许多开发者和企业部署 Web 应用程序的首选。

在本教程中,我们将指导您如何在 Flexus X 实例上安装和部署 Tomcat。

查看镜像信息本地连接服务器之后输入指令 lsb_release -a  查看镜像信息


 

从镜像信息中我们可以看到我们使用的镜像是 Huawei Cloud EulerOS

安全组设置

首先我们需要在服务器的安全组入口方向开放 8080 端口如下图所示


 

操作步骤

1. 软件安装

 1.1 执行以下命令安装 Java

dnf install java-1.8.0-openjdk


 

1.2 执行如下命令验证是否安装成功

java -version


 

1.3 执行如下命令安装 Tomcat

dnf install tomcat


 

注意此时 Tomcat 会被安装到/usr/share/tomcat 目录

2. 配置软件

2.1 编辑“/etc/profile”配置环境变量

在服务器中使用 vim 进行环境变量配置 vim /etc/profile , 在 profile 中添加

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-0.hce2.x86_64/jrePATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME CLASSPATH PATH


2.2 激活环境变量

当配置好环境变量后通过命令 source /etc/profile 来激活环境变量

2.3 清空“/usr/share/tomcat/conf/server.xml”文件中的内容,并重新进行配置,示例代码如下




代码讲解:

<?xml version="1.0" encoding="UTF-8"?>

这行声明了 XML 文件的版本和编码方式。

<Server port="8006" shutdown="SHUTDOWN">

这行定义了 Tomcat 服务器的端口号为 8006,并且定义了一个关闭命令,当服务器接收到这个命令时会关闭。

<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>

这行定义了一个监听器,用于防止 JRE 内存泄露。

<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

这行定义了一个监听器,用于管理全局资源的生命周期。

<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

这行定义了一个监听器,用于防止线程局部变量泄露。

<Listener className="org.apache.catalina.core.AprLifecycleListener"/>

这行定义了一个监听器,用于处理 Apache 的运行时库(APR)的生命周期。

<GlobalNamingResources>

这行开始定义全局命名资源,全局命名资源是 Tomcat 中的命名服务,用于存储用户、角色、权限等数据。


<Resource name="UserDatabase" auth="Container"  type="org.apache.catalina.UserDatabase"  description="User database that can be updated and saved"  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"  pathname="conf/tomcat-users.xml"/>

这行定义了一个名为 UserDatabase 的资源,它是一个用户数据库,可以被更新和保存。factory 属性指定了这个资源是由 MemoryUserDatabaseFactory 创建的,并且路径是 conf/tomcat-users.xml。

</GlobalNamingResources>

这行结束全局命名资源的定义。

<Service name="Catalina">

这行定义了一个服务,服务是一组引擎的集合,它们可以共享资源和处理请求。

<Connector port="8080"  protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443"  maxThreads="1000"  minSpareThreads="20"  acceptCount="1000"  maxHttpHeaderSize="65536"  debug="0"  disableUploadTimeout="true"  useBodyEncodingForURI="true"  enableLookups="false"  URIEncoding="UTF-8"/>

这行定义了一个连接器,它监听 8080 端口,使用 HTTP/1.1 协议,并且定义了连接超时时间、重定向端口、最大线程数、最小空闲线程数、接受队列大小、最大 HTTP 头大小等参数。

<Engine name="Catalina" defaultHost="localhost">

这行定义了一个引擎,引擎是一个服务中的容器,它负责处理请求并创建响应。defaultHost 属性指定了默认的主机名。

<Realm className="org.apache.catalina.realm.LockOutRealm">

这行定义了一个身份验证领域,用于验证用户的凭据。

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"   resourceName="UserDatabase"/>

这行定义了一个身份验证领域,它使用 UserDatabase 资源来验证用户。

</Realm>

这行结束身份验证领域的定义。

<Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">

这行定义了一个主机,主机是引擎中的容器,它负责处理来自特定主引擎中的容器,它负责处理来自特定主机的请求。appBase 属性指定了应用程序的根目录,unpackWARs 属性指定了是否在部署时解压 WAR 文件,autoDeploy 属性指定了是否自动部署新应用程序。

<Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>

这行定义了一个上下文,上下文是主机中的容器,它负责处理来自特定路径的请求。docBase 属性指定了应用程序的目录,debug 属性指定了调试级别,reloadable 属性指定了是否可以重新加载应用程序,crossContext 属性指定了是否可以在上下文之间共享数据。

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t %s %b"/>

这行定义了一个阀门,用于记录访问日志。directory 属性指定了日志文件的目录,prefix 和 suffix 属性指定了日志文件的前缀和后缀,pattern 属性指定了日志记录的格式。

2.4 执行以下命令创建上述配置中 appbase 和 docbase 填入的目录

mkdir -p /data/wwwroot/default

2.5 执行以下命令将上述目录所属用户设置为 tomcat

chown -R tomcat.tomcat /data/wwwroot/ 

2.6 新建“/usr/share/tomcat/bin/setenv.sh”文件, 输入以下内容配置 JVM 内存参数。

JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'

2.7 启动 Tomcat 服务

输入指令 systemctl start tomcat 启动 Tomcat

2.8 查看 Tomcat 服务状态

输入指令 systemctl status tomcat 查看 Tomcat 服务状态, 如果显示 active (running)则表示服务启动成功。


3. 验证 Tomcat 安装是否成功

输入指令 echo Tomcat test > /data/wwwroot/default/index.jsp 将 Tomcat test 写入到/data/wwwroot/default/index.jsp 文件中, 同时在浏览器中输入 http://<Tomcat 服务公网 IP>:8080 进行访问, 效果如下图所示



总结

在本篇博客中,我们详细介绍了如何在华为云的 EulerOS 镜像上安装 Tomcat,这一过程不仅加深了我们对 Flexus X 实例的理解,也让我们对华为云提供的 EulerOS 镜像有了更全面的认知。此外,正值华为云 828 B2B 企业节期间,Flexus X 实例的促销活动十分诱人,不容错过。对于那些追求高性能算力和需要自行搭建 MySQL、Redis、Nginx 等服务的用户来说,这个优惠机会非常宝贵。

用户头像

YG科技

关注

还未添加个人签名 2023-03-20 加入

还未添加个人简介

评论

发布
暂无评论
828华为云征文 |Flexus X实例与华为云EulerOS的Tomcat安装指南_YG科技_InfoQ写作社区