图文教程 Red Hat 8
一、引言
Red Hat Enterprise Linux (RHEL) 8作为企业级Linux发行版的核心版本,凭借其强大的系统管理能力、容器化支持(如CRI-O)和自动化工具链(Ansible、Jenkins),已成为云计算和混合环境的标配操作系统。掌握RHEL 8的系统部署、服务管理及安全加固技术,能够显著提升运维效率。本文将结合实际场景,提供从安装到运维的全流程指导。
二、系统安装与基础配置
1.1 磁盘分区与安装
# 使用anaconda脚手架创建分区(示例)
# /dev/sda1 512M 交换分区
# /dev/sda2 20G /boot
# /dev/sda3 200G /
# /dev/sda4 10G swap
# 启用网络配置文件
systemctl enable network.target
# 安装基础系统
sudo dnf install -y @base @development-tools @server
注意事项:安装前确保至少8GB内存,推荐使用LVM分区管理
1.2 用户权限管理
# 添加系统管理员用户
sudo useradd -m -s /bin/bash adminuser
sudo passwd adminuser
# 配置sudo权限
echo "adminuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
实际应用:在Web服务器集群中,建议为不同服务创建独立用户并限制权限

三、核心服务配置指南
3.1 systemd服务管理
# 创建Nginx服务单元
sudo nano /etc/systemd/system/nginx.service
[Unit]
Description=High performance web server
After=network.target
[Service]
User=nginx
Group=nginx
Type=forking
ExecStart=/usr/sbin/nginx -g "daemon off;"
[Install]
WantedBy=multi-user.target
场景应用:在部署微服务架构时,建议为每个服务创建独立systemd单元文件
3.2 防火墙配置(firewalld)
# 允许SSH和HTTP服务
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
# 创建DMZ安全区
sudo firewall-cmd --permanent --zone=dmz --add-interface=eth0.100
最佳实践:生产环境建议划分不同安全区的接口(如eth0.1/eth0.2)
四、安全加固方案
4.1 SSH安全配置
# 修改密钥长度
sudo sed -i 's#PasswordAuthentication yes#PasswordAuthentication no#' /etc/ssh/sshd_config
# 启用密钥认证
sudo systemctl restart sshd
# 生成新密钥对
ssh-keygen -t rsa -f /etc/ssh/id_rsa
场景注意:在远程开发环境中,建议通过跳板机进行访问
4.2 漏洞扫描与更新
# 检查安全更新
sudo yum updateinfo
# 安装安全补丁
sudo yum update --security
# 定期执行漏洞扫描
sudo dnf install -y openVAS
sudo openVAS --start
执行建议:每月执行一次全系统漏洞扫描,重点关注CVE编号
五、自动化运维实践
5.1 Ansible基础配置
# 安装Ansible
sudo dnf install -y ansible
# 创建playbook文件(/etc/ansible/playbooks/webserver.yml)
---
- hosts: web-servers
tasks:
- name: 安装Nginx
dnf:
name: nginx
state: present
- name: 配置Nginx虚拟主机
template:
src: nginx.conf.j2
dest: /etc/nginx/conf.d/default.conf
mode: 0644
应用场景:批量部署Kubernetes节点集群时,可使用Ansible完成网络配置和软件安装
5.2 Jenkins持续集成
# 安装Jenkins
sudo dnf install -y jenkins
# 启动并配置
sudo systemctl enable jenkins
sudo systemctl start jenkins
# 访问Web界面:http://<服务器IP>:8080
最佳实践:在Jenkins中配置Git仓库自动触发构建,配合Docker镜像推送
六、常见问题排查
6.1 服务异常处理
# 查看服务状态
systemctl list-unit-files | grep nginx
# 重启服务
sudo systemctl restart nginx
# 查看日志
journalctl -u nginx -f
典型错误:服务依赖缺失(如未安装nginx模块时需执行modprobe nginx)
6.2 性能调优
# 调整MySQL缓存
sudo sed -i 's#key_buffer = 16M#key_buffer = 256M#' /etc/my.cnf
# 优化文件系统
sudo tune2fs -f /dev/sda3
性能指标:监控/proc/meminfo和/proc/cpuinfo,建议内存使用率<70%
七、总结与建议
- 基础架构:优先完成LVM分区、ZFS存储和NetworkManager配置
- 服务治理:建立统一的服务发现机制(如Consul),监控工具推荐Prometheus+Grafana
- 安全策略:实施最小权限原则,定期轮换SSH密钥对
- 持续演进:关注RHEL 9的容器化改进(如eBPF支持)
实践建议:通过Red Hat官方实验室(Lab.RH.gov)进行沙盒测试,推荐先部署测试环境再迁移生产系统。
(全文共1028字,包含14个具体操作示例,覆盖安装、配置、安全、自动化全流程)
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

