# Rocky Linux 企业部署最佳实践

URL: https://caijiao.org/rockylinux/enterprise-deploy
Source: docs/rockylinux/enterprise-deploy.md
Description: 本文总结 Rocky Linux 在企业环境中的部署与管理最佳实践，包括服务器规划、自动化运维、安全配置、监控与备份策略。

在企业环境中部署 Rocky Linux，需要结合 **稳定性、可维护性、安全性与自动化** 等多方面考虑。  
本文总结关键实践，帮助企业构建可靠、可扩展的服务器环境。

## 一、服务器规划与准备

1. **硬件与虚拟化选择**

   - 物理服务器：选择 RAID 磁盘、ECC 内存，提高可靠性
   - 虚拟化：支持 KVM、VMware、Hyper-V 等平台

2. **操作系统版本选择**

   - 建议使用 Rocky Linux LTS 版本，与 RHEL 长期支持版本保持一致
   - 确保生产环境与开发环境版本一致，减少兼容性问题

3. **网络与存储规划**
   - 静态 IP 与 DNS 配置
   - 网络带宽、存储分区策略、RAID 或 LVM 配置

## 二、基础环境配置

1. **系统更新**

```bash
sudo dnf update -y
```

定期执行安全更新，确保系统补丁最新

2. **必备工具安装**

   ```bash
   sudo dnf install -y vim wget curl git net-tools htop
   ```

3. **防火墙与安全策略**

   - 配置 `firewalld` 基础策略
   - 启用 SELinux 并使用适当策略（Enforcing）

## 三、用户与权限管理

1. **创建企业用户组**

   ```bash
   sudo groupadd dev
   sudo useradd -m -G dev alice
   ```

2. **sudo 管理**

   - 企业运维账户统一管理 sudo 权限
   - 编辑 `/etc/sudoers.d/enterprise` 文件，避免直接修改 `/etc/sudoers`

3. **SSH 安全**

   - 禁用 root 远程登录
   - 配置 SSH Key 登录，强制使用密钥认证

## 四、服务与应用部署

1. **使用 systemd 管理服务**

   - 创建自定义服务单元
   - 示例：

     ```bash
     sudo vi /etc/systemd/system/myapp.service
     ```

     内容：

     ```
     [Unit]
     Description=MyApp Service
     After=network.target

     [Service]
     ExecStart=/usr/local/bin/myapp
     Restart=always

     [Install]
     WantedBy=multi-user.target
     ```

   - 启用服务：

     ```bash
     sudo systemctl enable --now myapp
     ```

2. **容器化部署（Docker/Podman）**

   - 使用 Podman（无守护进程）或 Docker 部署应用
   - 结合 `docker-compose` 或 Kubernetes 管理多容器应用

## 五、性能监控与日志管理

1. **监控工具**

   - `htop`、`iotop`、`nload`、`dstat` 监控系统性能
   - 企业可部署 Prometheus + Grafana 做集中化监控

2. **日志管理**

   - 配置 `rsyslog` 或 `journald` 保存关键日志
   - 使用 `logrotate` 自动轮转日志文件
   - 对关键服务日志进行集中收集和备份

## 六、备份与恢复策略

1. **数据备份**

   - 使用 `rsync`、`tar`、`Timeshift` 进行系统与应用备份
   - 数据库备份使用 `mysqldump` 或 `pg_dump`

2. **灾难恢复**

   - 制定恢复流程文档
   - 对关键服务器使用 Clonezilla 或快照工具做整机备份

3. **自动化备份**

   - 使用 cron 定时任务执行备份
   - 可通过 rclone 上传到远程云存储

## 七、安全与合规

1. **系统安全**

   - 关闭不必要的服务
   - 配置防火墙与 SELinux
   - 定期安全扫描（如 Lynis）

2. **账户与访问控制**

   - 最小权限原则
   - 多因素认证（MFA）

3. **补丁与更新**

   - 建立测试环境先验证补丁
   - 定期执行安全更新

## 八、自动化运维

1. **配置管理工具**

   - Ansible、SaltStack、Puppet 管理大规模节点
   - 编写 playbook 或状态文件实现环境一致性

2. **CI/CD 集成**

   - 结合 Jenkins、GitLab CI/CD 部署应用
   - 自动化测试、打包、发布流程

## 九、总结

- **规划先行**：硬件、网络、存储与版本规划
- **安全为先**：账户管理、防火墙、SELinux 与补丁更新
- **监控与备份**：实时性能监控 + 定期数据备份
- **自动化管理**：配置管理与 CI/CD 提升运维效率
- **文档与规范**：建立标准操作文档，减少人为失误

> 💡 提示：企业生产环境中，建议结合 Rocky Linux 的稳定性与社区支持，同时对关键业务系统进行多层安全、备份与监控措施。
