【云原生】企业级WEB应用服务器TOMCAT

一、实验环境

1、虚拟机版本

RHEL9.4

2、主机

主机名称 IP地址
tomcat 172.25.254.100
tomcat-node1 172.25.254.10
tomcat-node2 172.25.254.20

3、基础配置

三台主机的防火墙和 selinux 都永久关闭,网卡为 eth0,本地仓库已配置,开机自动挂载

4、nginx源码编译

在 tomcat(172.25.254.100)主机上进行 nginx1.26.1 版本的源码编译,具体实验步骤可以参考企业高性能web服务器上实验内容第一个实验进行操作。

源码编译后基础配置( tomcat 主机上):

(1)创建网页目录

(2)网页内容

(3)文件检测

(4)创建日志目录

(5)修改配置文件

(6)修改子配置文件

创建子配置文件目录:

复制代码
mkdir /usr/local/nginx/conf.d

创建子配置文件:

复制代码
vim /usr/local/nginx/conf.d/vhosts.conf

(7)本地解析文件

windows上的:

C:\Windows\System32\drivers\etc 下的 hosts 文件

tomcat 主机上的:

二、实验步骤

1、tomcat 的部署方法

注意:tomcat-node1 和 tomcat-node2两台主机都要进行相同操作,作者这里以 tomcat-node1 为演示。

1.1 安装 tomcat

(1)安装java环境

复制代码
yum install java-1.8.0-openjdk.x86_64 -y

(2)安装并启动 tomcat

先将作者放在文章顶部的资源下载解压后,再将 apache-tomcat-9.0.93.tar.gz 拖入主机中:

将 apache-tomcat-9.0.93.tar.gz 进行解压::

复制代码
tar zxf apache-tomcat-9.0.91.tar.gz -C /usr/local/

创建软链接:

复制代码
ln -s /usr/local/apache-tomcat-9.0.91/ /usr/local/tomcat

启动 Tomcat 服务器:

复制代码
/usr/local/tomcat/bin/startup.sh

(3)查看端口

复制代码
/usr/local/tomcat/bin/startup.sh

(4)访问tomcat

注意看访问地址,这里是要加端口号的

1.2 生成tomcat的启动文件

(1)生成tomcat的主配置文件

(2)创建 tomcat 用户

复制代码
useradd -s /sbin/nologin -M tomcat

(3)给权限

复制代码
chown -R tomcat.tomcat /usr/local/apache-tomcat-9.0.93/

(4) 生成启动文件

(5)重新加载 Systemd 配置

复制代码
systemctl daemon-reload

(6)开机自启

2、tomcat 的反向代理及负载均衡

(1)将作者放在文章顶部的资源中的 test.jsp 拖入 tomcat-node1 和 tomcat-node2 中:

(2)将文件 test.jsp 复制到 /usr/local/tomcat/webapps/ROOT 目录下(tomcat-node1 和 tomcat-node2 两台主机都需要操作):

复制代码
cp test.jsp /usr/local/tomcat/webapps/ROOT

(3)在tomcat主机中修改 nginx 子配置文件目录:

重启:

复制代码
nginx -s reload

(4)测试

刷新之后访问的主机依旧不变

3、tomcat 的 session 会话保持

在tomcat-node1 和 tomcat-node2两台主机都要进行相同操作,作者这里以 tomcat-node1 为演示:

(1)memcached的安装与启动

安装:

复制代码
yum install memcached -y

修改配置文件:

开机启动:

复制代码
systemctl enable --now memcached

查看:

(2)设置 session 共享服务器

下载相关jar包:

作者将jar.zip压缩包放置顶部,拖入主机中,并进行解压(也可以在官网上进行下载,下载链接:https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration

进入 jar 目录,将所有文件拷贝至 /usr/local/tomcat/lib/

编辑 tomcat 配置文件:

复制代码
vim /usr/local/tomcat/conf/context.xml

注意配置文件这里 tomcat-node1 和 tomcat-node2 的是不一样的

tomcat-node1下的配置文件内容:

tomcat-node2下的配置文件内容:

(3)重启

复制代码
systemctl restart tomcat.service

(4)测试

两台主机的tomcat都开启,发现页面显示 tomcat-node1 主机的内容,添加内容提交后还是在 tomcat-node1 主机上:

关闭 tomcat-node1 主机,不刷新页面,继续添加内容,提交后发现原来的内容还在,但页面显示在 tomcat-node1 主机上:

今天的tomcat实验就到此结束啦!!!还想看更多精彩内容请给作者点点关注,打打赏钱,有钱的捧个钱场,没钱的捧个人场!!!

相关推荐
七夜zippoe6 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥6 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
Fcy6488 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满8 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠8 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
主机哥哥8 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey9038 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技9 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀10 小时前
Linux环境变量
linux·运维·服务器
zzzsde10 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器