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

相关推荐
buhuizhiyuci2 分钟前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
贝锐6 分钟前
多校区互通、临时联网、远程运维,校园网络升级用蒲公英更省心!
运维·组网
骇客野人10 分钟前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
啦啦啦啦啦zzzz34 分钟前
moduo网络库 Acceptor TcpConnection
服务器·网络·c++·reactor·网络库
游戏开发爱好者834 分钟前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone
天疆说42 分钟前
04 稳定性与性能调优实录:OOM 崩溃、并发槽位、前缀缓存与 DSpark 调参
linux·运维·缓存
微硬创新43 分钟前
大点数模拟量采集落地:耐达讯自动化32路0-20mA适配PROFINET总线实践解析
运维·人工智能·网络协议·自动化·信息与通信
星卯教育tony44 分钟前
NOI Linux 2.0 服务器多用户网页桌面部署方案(腾讯云轻量Ubuntu20.04专属版 CSP复赛比赛环境搭建免安装虚拟机 )
linux·服务器·腾讯云
GIS数据转换器1 小时前
村镇无人机物流配送与跨域监测一体化平台
大数据·运维·人工智能·科技·无人机
Forever Nore2 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode