如何在LAMP中进行系统更新与维护
导读:LAMP系统的更新与维护实操指南 一 更新流程与发行版命令 通用准备 选择维护窗口、通知业务方,准备回滚方案与完整备份(含数据库与配置文件)。 预留磁盘空间并检查网络连通性,确保包管理器可正常下载更新。 各发行版包管理更新 Ubu...
LAMP系统的更新与维护实操指南
一 更新流程与发行版命令
- 通用准备
- 选择维护窗口、通知业务方,准备回滚方案与完整备份(含数据库与配置文件)。
- 预留磁盘空间并检查网络连通性,确保包管理器可正常下载更新。
- 各发行版包管理更新
- Ubuntu/Debian
- 更新索引与升级:sudo apt update & & sudo apt upgrade
- 处理依赖与内核/发行版升级:sudo apt -f install,必要时执行 sudo apt dist-upgrade
- 重启:sudo reboot
- RHEL/CentOS(含 7/8)
- 全量更新:sudo yum update 或 sudo dnf update
- 仅安全更新:sudo yum --security check-update 与 sudo yum update --security
- 重启:sudo reboot
- Fedora
- 更新:sudo dnf update
- 重启:sudo reboot
- Arch Linux
- 更新:sudo pacman -Syu
- 清理无用包:sudo pacman -Rns $(pacman -Qtdq)
- openSUSE
- 刷新与更新:sudo zypper refresh & & sudo zypper update
- 重启:sudo reboot
- Ubuntu/Debian
- LAMP组件更新要点
- 组件名在不同发行版略有差异(如 httpd/apache2、mariadb-server/mysql-server)。
- 建议按“系统 → 数据库 → Web/语言”的顺序更新,更新后按需重启对应服务。
二 服务变更与验证
- Apache
- 配置语法检查:sudo apache2ctl configtest(或 httpd -t)
- 零停机生效:sudo systemctl reload apache2(或 httpd)
- 优雅重启:sudo systemctl restart apache2(仅在必要时)
- 运行状态:sudo systemctl status apache2 --no-pager
- 连接与模块诊断:ss -tulpn | grep ‘:80\b’;apache2ctl -M
- MariaDB/MySQL
- 重启:sudo systemctl restart mariadb(或 mysqld)
- 安全初始化(首次或加固):sudo mysql_secure_installation
- PHP
- 重启 Web 服务以加载新 PHP(Apache 使用上面的 reload/restart;如使用 PHP-FPM,则 sudo systemctl restart php-fpm)
- 回滚策略
- 优先使用包管理器回滚到上一个版本或快照;应用侧保留可快速切换的前一版本发布包/目录与数据库备份。
三 安全加固与访问控制
- 系统与账户
- 开启自动安全更新
- Ubuntu/Debian:sudo apt install unattended-upgrades & & sudo dpkg-reconfigure unattended-upgrades
- RHEL/CentOS:sudo yum install yum-cron & & sudo systemctl enable --now yum-cron
- 强密码策略与有效期(示例:最小长度与字符集要求)
- 安装质量库:sudo apt install libpam-pwquality 或 sudo yum install libpwquality
- 配置 /etc/security/pwquality.conf:如 minlen=8、dcredit=-1、ucredit=-1、lcredit=-1、ocredit=-1
- 设置有效期:sudo chage -M 90 用户名
- 开启自动安全更新
- SSH 与防火墙
- 禁用 root 登录、使用密钥登录、改端口(示例):编辑 /etc/ssh/sshd_config
- PermitRootLogin no、Port 5920、启用密钥认证后重启 sshd
- 防火墙仅开放必要端口(示例)
- UFW:sudo ufw allow 80/tcp & & sudo ufw allow 443/tcp
- firewalld:sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
- 禁用 root 登录、使用密钥登录、改端口(示例):编辑 /etc/ssh/sshd_config
- 数据库与 Web 最小化暴露
- 仅在内网开放数据库端口,禁止公网直连;Web 目录最小权限与禁用不必要模块。
四 性能优化与日常维护
- Apache
- 启用压缩:mod_deflate
- 持久连接:KeepAlive On、MaxKeepAliveRequests 100、KeepAliveTimeout 5
- 并发与缓存:MaxRequestWorkers(结合内存/CPU)、mod_cache/mod_disk_cache
- MySQL/MariaDB
- 关键内存参数:如 innodb_buffer_pool_size
- 索引与查询优化、定期分析与优化表
- PHP
- 启用 OPcache(生产必备)
- 禁用不必要扩展,合理设置 memory_limit
- 监控与日志
- Apache 状态页(需启用 mod_status):/server-status?auto,关注 BusyWorkers/IdleWorkers
- 日志轮转与保留策略(避免磁盘爆满):按业务设置保留周期与压缩策略,使用 logrotate 或信号触发轮转
- 备份策略
- 数据库:mysqldump 定期全量/增量备份
- 文件与配置:rsync/tar 备份 /var/www、/etc 与自定义配置
- 定期演练恢复流程,验证可用性与完整性
五 升级策略与回滚预案
- 版本升级路径
- 系统层面优先使用包管理器的安全更新与小版本升级;跨大版本升级需评估变更范围与停机窗口。
- PHP 升级要点
- 检查当前版本:php -v
- 评估兼容性(框架/插件/扩展)、在预发环境充分测试、备份与灰度发布
- 升级后核对错误日志与关键业务指标,必要时快速回滚版本
- 回滚与应急
- 优先使用包管理器回滚;应用侧保留可回滚的上一版本与数据库快照
- 维护窗口内执行、变更前后留痕(命令与结果日志)、对关键业务进行灰度/蓝绿切换以降低风险
- 风险提示
- 生产环境操作存在业务中断与数据风险,务必在备份与回滚就绪的前提下进行,并遵循企业的变更管理流程
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在LAMP中进行系统更新与维护
本文地址: https://pptw.com/jishu/748220.html
