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

相关推荐
。puppy28 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色37 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
EricWang13582 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
Amelio_Ming3 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方3 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS3 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生