任务一:完成tomcat核心组件的总结

    Server:服务器,Tomcat 运行的进程实例,一个Server中可以有多个service,但通常就一个.

    Service:服务,用来组织Engine和Connector的对应关系,一个service中只有一个Engine.

   Connector:连接器,负责客户端的HTTP、HTTPS、A JP等协议连接,一个Connector只属于某 一个Engine.

    Engine:引擎,用来响应并处理用户请求。一个Engine上可以绑定多个Connector.

    Host:虚拟主机,可以实现多虚拟主机,例如使用不同的主机头区分.

   Context:应用的上下文,配置特定url路径映射和目录的映射关系:url => directory.


任务二:完成tomcat的环境准备和安装,过程总结成文档

     tomcat的环境准备和安装,这里以UBUNTU二进制安装tomcat11为例。、

      首先部署java环境,使用命令“apt install openjdk-17-jdk -y”,之后使用“java -version”查看版本,注意如果使用“apt install openjdk-17-jdk -y”将导致后续的tomcat服务无法启动,这是由于tomcat11对版本有要求。之后使用”vim /etc/profile.d/java.sh“编辑环境变量,”export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export JAVA_BIN=$JAVA_HOME/bin export PATH=$JAVA_BIN:$PATH“,之后记得使用”source /etc/profile.d/java.sh“加载环境变量。

       下面使用”mkdir /data/softs -p; cd /data/softs“创建并移动到对应的目录,之后使用”wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.22/bin/apache-tomcat-11.0.22.tar.gz“从官网下载相应的压缩包,注意,选择压缩包时,如下图所示,建议选择binary distributions下面的core,即”https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.22/bin/apache-tomcat-11.0.22.tar.gz“对应二进制安装,若选择Source Code Distributions,则是源码安装,即”https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.22/src/apache-tomcat-11.0.22-src.tar.gz“,而tomcat是java项目,源码是java,需要本机JDK+MAVEN编译打包成CLASS字节码文件,本地编译较为麻烦,因此更推荐使用二进制安装。安装后使用”mkdir /data/server“并将tomcat压缩包解压至/data/server目录下,之后创建软链接”ln -s /data/server/apache-tomcat-11.0.4 /data/server/tomcat“。

         之后我们定制专用服务用户”useradd -r -s /sbin/nologin tomcat“,并使用“chown -R tomcat:tomcat /data/server/tomcat”和“chown tomcat:tomcat -R /data/server/tomcat/*”更改文件权限,之后在“/lib/systemd/system/tomcat.service“或”/etc/systemd/system/tomcat.service"下定制启动服务脚本,即“[Unit] Description=Tomcat After=syslog.target network.target [Service] Type=forking # Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/ ExecStart=/data/server/tomcat/bin/startup.sh ExecStop=/data/server/tomcat/bin/shutdown.sh PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target”,之后使用“systemctl daemon-reload”加载服务配置,并使用“systemctl start tomcat”启动tomcat服务,可使用“systemctl status tomcat.service”查看,如下图所示。

任务三:总结tomcat配置文件和目录的作用。

          可使用“ls /data/server/tomcat/”查看目录文件,功能分别为:bin:管理脚本文件目录、conf:配置文件目录、lib:库文件目录、logs:日志目录、temps:临时文件目录、webapps:应用程序目录、work:jsp编译后的结果文件。可在/data/server/tomcat/conf/中查看配置目录结构,在基于Java的Web应用程序中,web.xml 文件扮演着至关重要的角色,它主要用于配置Web应用程序的 各种组件和行为。/data/server/tomcat/conf/server.xml 文件是 Apache Tomcat 中的主要配置文件之一,用 于配置 Tomcat 服务器的全局设置、连接器(Connectors)、虚拟主机(Virtual Hosts)等。/data/server/tomcat/webapps/为默认部署的tomcatweb应用目录,主要作用是存放和管理所有要部署在Tomcat服务器上的Web应用程序。 webapps目录可以包含多个子目录,每个子目录代表一个独立的Web应用程序。 Tomcat会定期扫描这个目录及其子目录,以便在检测到新的或更新的应用程序时自动进行部署或重新部署。ROOT目录 是webapps目录下的一个特殊子目录,是Tomcat的默认Web应用程序的根目录,用于存放默认的主页和静 态资源文件。 这意味着,当Tomcat接收到一个请求,并且该请求没有指定具体的Web应用程序名称时,Tomcat会自动 将请求映射到ROOT目录下的文件。WEB-INF 目录是Java Web应用程序中的一个标准目录,它主要用于存放Web应用程序的配置文件、类 文件、库文件以及其他资源文件,这些文件和资源不会直接暴露给外部用户。 WEB-INF 目录中最常见的配置文件是 web.xml。web.xml 是Java Web应用程序的部署描述符文件, 它包含了Servlet、Filter、Listener、会话配置、欢迎页面、错误页面等关键配置信息。这个文件对于 Web应用程序的启动和运行至关重要。META-INF 是Java应用程序中的一个标准目录,用于存放元数据。这些元数据信息可以包括配置文件、 版本信息、扩展点描述等。需要注意的是,META-INF 和 WEB-INF 都是Java Web应用程序中的标准目录,但它们的用途和存放 的内容有所不同。META-INF 更侧重于存放与应用程序相关的元数据信息,而 WEB-INF 则更侧重于存放Web 应用程序的配置文件和资源文件。以Tomcat服务器为例,上下文(Context)是指一个Web应用程序在Tomcat中的运行环境。每个Web应 用程序都有自己的上下文,这个上下文包含了应用程序的配置信息、资源文件、类文件等。


任务四:完成课程演示tomcat部署halo项目相关的过程总结成文档

       Halo由manrajgrover等人创建并维护,是一个现代化的开源博客系统,而且它提供了丰富的功能和灵 活的定制选项,允许用户快速搭建并管理各种类型的网站。所以它是一个旨在为开发者提供一个易于使用且功 能强大的平台,用于创建和管理个人或团队的博客、网站或内容管理系统。

       官网链接https://docs.halo.run/。首先需确保部署了java环境,具体过程可参考任务二,然后创建目录并进入目录“mkdir /data/halo ;cd /data/halo”,之后使用命令“https://dl.halo.run/release/halo-1.6.1.jar -O halo.jar”下载,注意我们这里下载的是社区版,若使用付费版,则是“https://dl.halo.run/release/halo-pro-1.6.1.jar -O halo.jar”。由于是jar 文件,因此我们可以“java -jar halo.jar”直接启动项目.注意对java环境的版本要求,为“2.21 以上版本:JRE 21”,“2.20 及以下版本:JRE 17”。下载成功后结果如下图所示。

         可知,端口号是8090,注意虽然标注的是127.0.0.1,但是实际上其他ip地址也能通过8090端口访问。

             

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐