项目经历
项目一:基于 RHEL 9.3 的企业级 Web 服务高可用部署实践
项目环境:VMware Workstation + RHEL 9.3 DVD 镜像、本地 YUM 源、x86_64 虚拟机
项目职责:独立完成系统安装、本地源配置、基础服务部署与高可用架构搭建
项目描述:
在 RHEL 9.3 系统环境下,搭建一套可支撑中小型业务的 Web 服务架构。通过配置本地 DVD 软件源完成依赖安装,部署 Nginx 作为反向代理与静态资源服务器,后端对接 Tomcat 提供 Web 应用服务;使用 MySQL 实现数据持久化,Redis 提供缓存加速;引入 Keepalived 实现节点高可用,Docker 容器化简化服务迁移与管理。完成服务启停、日志排查、端口监听、进程监控等日常运维操作。
项目成果:
- 完成 RHEL 9.3 系统安装与初始化优化,配置本地 DVD YUM 源,解决离线环境软件安装问题。
- 成功部署 Nginx + Tomcat + MySQL + Redis 全栈服务,可正常访问 Web 测试页面。
- 实现 Keepalived 主备高可用,模拟主节点故障可自动切换,服务无中断。
- 掌握 Docker 基础镜像构建、容器运行、端口映射与数据持久化操作。
- 具备 Linux 系统日志排查、服务状态检查、端口占用分析等基础运维能力。
二、实践步骤(RHEL 9.3 DVD)
全程用 rhel-9.3-x86_64-dvd.iso。
-
虚拟机安装 RHEL 9.3
-
新建虚拟机,挂载 RHEL 9.3 DVD
-
安装类型:Server with GUI 或 最小化安装
-
分区默认即可,设置 root 密码,创建普通用户
-
等待安装完成重启
-
挂载 DVD 并配置本地 YUM 源(核心步骤)
bash
-
创建挂载目录
mkdir -p /mnt/dvd
-
临时挂载光盘
mount /dev/sr0 /mnt/dvd
-
永久挂载(开机自动挂)
echo "/dev/sr0 /mnt/dvd iso9660 defaults 0 0" >> /etc/fstab
-
备份原有 repo
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
-
新建本地源配置
vi /etc/yum.repos.d/rhel9-dvd.repo
写入内容:
BaseOS
name=BaseOS
baseurl=file:///mnt/dvd/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
AppStream
name=AppStream
baseurl=file:///mnt/dvd/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
- 测试源是否可用
dnf clean all
dnf makecache
dnf install -y tree wget net-tools vim
结果:离线安装软件成功,本地源配置完成。
- 系统基础初始化(运维标配)
关闭防火墙(学习环境)
systemctl stop firewalld
systemctl disable firewalld
关闭 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
查看端口、进程
netstat -tuln
ps -ef | grep systemd
- 安装并启动 Nginx(DVD 源内有)
dnf install -y nginx
systemctl start nginx
systemctl enable nginx
curl localhost
结果:出现 Nginx 默认欢迎页,服务正常运行。
- 安装 Tomcat 运行 Web 应用
dnf install -y java-17-openjdk tomcat
systemctl start tomcat
systemctl enable tomcat
访问:
plaintext
结果:Tomcat 默认页面正常打开。
- 安装 MySQL(MariaDB)并测试
dnf install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
初始化设置密码
mysql_secure_installation
登录测试:
mysql -u root -p
结果:可正常进入数据库,执行 create database、create table 等基础 SQL。
- 安装 Redis 并启动
dnf install -y redis
systemctl start redis
systemctl enable redis
redis-cli
执行:
plaintext
set name test
get name
结果:缓存读写正常。
- Docker 容器化部署(RHEL 9 自带)
dnf install -y docker
systemctl start docker
systemctl enable docker
拉取并运行 Nginx 容器
docker run -d -p 8081:80 --name my-nginx nginx
docker ps
结果:容器运行,访问 8081 端口可看到 Nginx 页面。
- Keepalived 高可用(可选,简历加分)
dnf install -y keepalived
编辑配置文件
vi /etc/keepalived/keepalived.conf
配置简单 VIP(如 192.168.x.100),启动服务:
systemctl start keepalived
结果:
- 主节点持有 VIP
- 关闭主节点 keepalived,备节点自动接管
- 模拟故障切换成功,高可用验证通过