【云原生】企业级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实验就到此结束啦!!!还想看更多精彩内容请给作者点点关注,打打赏钱,有钱的捧个钱场,没钱的捧个人场!!!

相关推荐
Decay__8 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子10 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF10 小时前
Linux
linux·服务器·网络
万联WANFLOW10 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery12 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠13 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__13 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森15 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼15 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by2099916 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享