温馨提示×

如何升级Debian的LAMP

小樊
37
2026-08-26 01:21:18
栏目: 智能运维

下面给你一套**在 Debian 上升级 LAMP(Linux + Apache + MySQL/MariaDB + PHP)**的常见做法,适用于 Debian 10/11/12,以及从旧版本升级到新版本(如 Debian 11 → 12,或 PHP 7.x → 8.x)。


一、升级前准备(非常重要)

1. 备份数据

# 网站目录
tar czf /backup/www.tar.gz /var/www

# 数据库
mysqldump -u root -p --all-databases > /backup/all-db.sql

# 配置文件
cp -a /etc/apache2 /backup/apache2
cp -a /etc/php /backup/php
cp -a /etc/mysql /backup/mysql

2. 查看当前版本

cat /etc/debian_version
apache2 -v
php -v
mysql --version

二、升级 Debian 系统(如 11 → 12)

1. 更新当前系统

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

2. 修改源为新的 Debian 版本

例如从 bullseye → bookworm

sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list

或手动编辑:

sudo nano /etc/apt/sources.list

3. 升级系统

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

完成后重启:

sudo reboot

三、升级 Apache

Debian 升级后 Apache 会自动升级,但可手动确认:

sudo apt install apache2
apache2 -v

重启:

sudo systemctl restart apache2

四、升级 MySQL / MariaDB

1. 查看当前数据库

mysql --version

2. 升级数据库

sudo apt install mariadb-server

或(MySQL):

sudo apt install mysql-server

3. 运行升级脚本(重要)

sudo mysql_upgrade -u root -p

新版本 MariaDB 通常自动完成,但建议检查。


五、升级 PHP(重点)

Debian 默认仓库 PHP 版本较旧,推荐用 Sury 仓库

1. 添加 Sury PHP 仓库

sudo apt install -y curl wget gnupg2 ca-certificates apt-transport-https
curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb

echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

sudo apt update

2. 安装新版本 PHP(如 8.2)

sudo apt install php8.2 php8.2-cli php8.2-fpm \
php8.2-mysql php8.2-curl php8.2-gd \
php8.2-mbstring php8.2-xml php8.2-zip

3. 切换 Apache 使用的 PHP 版本

sudo a2dismod php7.4
sudo a2enmod php8.2
sudo systemctl restart apache2

如用 PHP-FPM:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2 php8.2-fpm

六、检查 LAMP 状态

systemctl status apache2
systemctl status mariadb
php -v

测试 PHP:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

七、常见问题

1. Apache 无法启动

sudo apachectl configtest

2. PHP 模块缺失

sudo apt install php8.2-xxx

3. 网站白屏

  • 检查 PHP 版本
  • 查看日志:
tail -f /var/log/apache2/error.log

八、升级建议总结

✅ 先升级 Debian
✅ 再升级 Apache / MariaDB
✅ 最后升级 PHP(用 Sury 仓库)
✅ 升级前 一定备份


如果你愿意,可以告诉我:

  • Debian 当前版本
  • PHP / MySQL 版本
  • 是本地服务器还是云服务器

我可以给你精确到命令的升级方案

0