温馨提示×

Linux LAMP更新与维护策略

小樊
39
2025-12-20 00:15:04
栏目: 智能运维

Linux LAMP更新与维护策略

一 更新策略与节奏

  • 节奏与窗口:将更新分为安全更新即时补丁周二集中功能更新按月/季度;生产环境选择低峰时段执行,变更前完成备份与回滚方案
  • 安全更新优先:
    • RHEL/CentOS 系:安装并使用yum-security插件,先检测再仅装安全补丁。
      • 检查:sudo yum --security check-update
      • 仅安全更新:sudo yum update --security
    • Debian/Ubuntu 系:启用无人值守安全更新(unattended-upgrades),自动安装安全补丁。
      • 安装与启用:sudo apt install unattended-upgrades -y && sudo dpkg-reconfigure unattended-upgrades
  • 常规升级与验证:
    • Debian/Ubuntu:sudo apt update && sudo apt full-upgrade(或 apt upgrade),升级后用 apache2 -v、mysql/mariadb --version、php -v 校验版本与服务状态。
    • 变更前后保留/对比配置文件,必要时回滚;任何更新后执行应用与数据库连通性与功能回归测试

二 安全加固基线

  • 系统与网络:
    • 仅开放必要端口(如 22/80/443),使用 UFW/iptables/firewalld 实施最小暴露面;禁用不必要服务与端口。
    • 强化身份认证:禁用 root SSH 密码登录,使用SSH 密钥;为管理口设置来源限制与多因素认证(如可行)。
  • Apache:
    • 精简加载模块,仅启用必要功能;关闭目录浏览;为虚拟主机启用 HTTPS/TLS;限制请求方法(如禁用 PUT/DELETE 除非业务必需)。
  • 数据库(MySQL/MariaDB):
    • 运行 mysql_secure_installation 完成基础加固;禁止 root 远程登录;按“最小权限”原则创建业务账号并限制来源主机。
  • PHP:
    • 在 php.ini 中禁用高风险函数(如 exec、shell_exec、system、passthru);合理设置 upload_max_filesize、post_max_size;启用 OPcache 提升性能并降低解释器开销。
  • 加密与证书:
    • 使用 Let’s Encrypt/Certbot 自动化签发与续期证书,强制 HTTPS 并开启 HSTS

三 性能与可用性优化

  • Apache:
    • 结合业务选择并调优 MPM(如 prefork/worker/event);优化 MaxRequestWorkers/KeepAlive/Timeout;启用 mod_expires、mod_headers 控制缓存策略;启用 Gzip/Brotli 压缩。
  • MariaDB/MySQL:
    • 关键参数:将 innodb_buffer_pool_size 设为内存的50%–80%(视负载与实例共存情况调整);结合慢查询日志与索引优化;定期执行维护任务(如碎片整理/优化表)。
  • PHP:
    • 启用并调优 OPcache(如 opcache.memory_consumption、opcache.validate_timestamps 在开发与生产区分设置);按应用需求调整 memory_limit、max_execution_time
  • 架构与网络:
    • 静态资源使用 CDN 与浏览器缓存;必要时采用 Nginx 作为反向代理/静态资源服务与 Apache 协同,提升并发与静态资源效率。

四 备份与恢复

  • 策略与频率:
    • 数据库:每日全量备份(如 mysqldump),关键库/表可加增量/时间点恢复方案;保留至少7–30天并可离线归档。
    • 文件与配置:定期备份 /var/www、虚拟主机配置、SSL 证书与密钥、系统关键配置(如 /etc 下相关目录);使用 tar/rsync 或企业级备份工具。
    • 系统镜像:定期做整机镜像/快照(配合云盘快照或本地工具),用于快速重建。
  • 验证与演练:
    • 定期执行恢复演练校验和验证,确保备份可用;在备份窗口外保留离线/异地副本以应对灾难场景。

五 监控 日志与变更管理

  • 监控与告警:
    • 监控 CPU、内存、磁盘 I/O、网络、连接数、查询延迟 等关键指标;使用 Prometheus + Grafana 等可视化与告警平台,结合应用日志设置阈值告警。
  • 日志管理:
    • 集中收集并轮转 Apache 访问/错误日志、MariaDB/MySQL 错误与慢查询日志、系统日志;保留周期与合规要求一致;对异常模式(如暴力登录、SQL 注入特征)设置告警。
  • 变更与回滚:
    • 使用配置管理(如 Ansible/Salt)与版本化配置仓库;更新前生成变更单回滚预案;变更后在预发布/灰度环境验证,再推广至生产。

0