温馨提示×

Debian LAMP更新升级步骤是什么

小樊
38
2025-12-10 20:14:14
栏目: 智能运维

Debian LAMP 更新与升级步骤

一 操作前准备

  • 备份关键数据与配置:网站目录(如 /var/www)、数据库(如 mysqldump -u root -p --all-databases > full_backup.sql)、数据库配置与系统关键配置(如 /etc)。
  • 确认运行环境:当前 Debian 版本(如 lsb_release -a)、Web 服务器(Apache)、数据库(MySQL/MariaDB)、PHP 版本与运行方式(mod_php/FPM)。
  • 准备维护窗口与回滚方案:确保磁盘空间充足、可短暂停机,保留旧版本包与配置以便回滚。
  • 如计划跨大版本升级(如 11 Bullseye → 12 Bookworm),建议先在测试环境演练。

二 日常安全更新与组件升级

  • 更新索引与系统包:
    • 执行:sudo apt update && sudo apt upgrade,必要时执行 sudo apt full-upgrade;完成后视情况 sudo reboot
  • 重启相关服务:
    • sudo systemctl restart apache2
    • 数据库:
      • sudo systemctl restart mysql(MySQL)或 sudo systemctl restart mariadb(MariaDB)
    • PHP:
      • FPM:sudo systemctl restart php-fpm
      • mod_php:重启 apache2 即可
  • 验证运行状态与版本:
    • 服务状态:sudo systemctl status apache2 mysql/mariadb php-fpm
    • 版本信息:apache2 -vmysql --versionphp -v
  • 清理无用包:sudo apt autoremove

三 跨版本升级 Debian 时的 LAMP 处理

  • 逐版本升级原则:如从 10 → 11 → 12,不要跨多代一次性升级。
  • 升级前准备:
    • 全量备份(数据、配置、证书、密钥)。
    • 检查并解除保留包:sudo apt-mark showholdsudo apt-mark unhold
  • 调整 APT 源:
    • 编辑 /etc/apt/sources.list/etc/apt/sources.list.d/*.list,将旧代号替换为新代号(如 bullseye → bookworm)。
  • 执行系统升级:
    • sudo apt update && sudo apt full-upgrade && sudo reboot
  • 升级后处理:
    • 清理:sudo apt autoremove
    • 验证:lsb_release -acat /etc/debian_version
    • 按需重启相关服务或整机。

四 组件升级要点与常见问题

  • Apache
    • 常规更新:sudo apt upgrade apache2 && sudo systemctl restart apache2
    • 跨版本升级后可用 apache2ctl -vapache2ctl -M | grep version 验证模块与版本。
  • MySQL/MariaDB
    • 常规更新:sudo apt upgrade mysql-serversudo apt upgrade mariadb-server,随后 sudo systemctl restart mysql/mariadb
    • 大版本或重要变更前务必全量备份;如使用 MySQL 官方仓库,请按官方指引添加源并升级;升级完成后可用 mysql --version 验证。
  • PHP
    • 同版本小更新:sudo apt upgrade php* 或指定版本(如 sudo apt upgrade php8.2*),并重启 apache2/php-fpm
    • 跨版本升级(如 8.2 → 8.3/8.4):
      • 添加 Ondřej SurýPHP 仓库,导入 GPG 并写入源列表;
      • 安装新版本与扩展(如 sudo apt install php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl});
      • 按需安装 php8.3-fpmlibapache2-mod-php8.3
      • 调整 Apache 的 PHP 模块启用状态,切换站点使用的新版本;
      • 验证:php -v,并重启 apache2/php8.3-fpm
      • 确认无误后可移除旧版:sudo apt purge php8.2*
  • 常见问题处理
    • 依赖冲突:sudo apt -f install
    • 服务无法启动:查看日志(如 journalctl -u apache2/var/log/mysql/error.log),修正配置后重启;
    • 有包被保留:sudo apt-mark unhold
    • 配置被覆盖:对比 /etc 下新旧配置,使用版本控制或备份恢复自定义项。

五 验证与后续维护

  • 版本与连通性验证:
    • 系统:lsb_release -a
    • 服务:systemctl status apache2 mysql/mariadb php-fpm
    • 版本:apache2 -vmysql --versionphp -v
    • 应用:访问站点与 /var/www/html/info.php(如启用)核对 PHP 信息
  • 自动化安全更新(可选):
    • 安装与启用:sudo apt install unattended-upgrades,配置 /etc/apt/apt.conf.d/20auto-upgrades
      • APT::Periodic::Update-Package-Lists “1”;
      • APT::Periodic::Unattended-Upgrade “1”;
    • 检查计划任务:systemctl status apt-daily.timer apt-daily-upgrade.timer
    • 演练:sudo unattended-upgrade --dry-run

0