在 Debian + LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境下“升级版本”,通常分 系统级升级 和 组件级升级 两种思路。下面按常见场景给你一个安全可操作的升级指南。
cat /etc/debian_version
nginx -v
php -v
mysql -V # 或 mariadb -V
确认是 Debian 10/11/12,以及用的是 apt 安装 还是 源码/一键包(如 lnmp.org)。
如果是老系统(如 Debian 9 → 11/12):
apt update
apt upgrade -y
apt dist-upgrade -y
跨大版本升级(如 10 → 11):
sed -i 's/buster/bullseye/g' /etc/apt/sources.list
apt update
apt full-upgrade
⚠️ 生产服务器务必先备份
apt update
apt install nginx
nginx -v
如需新版本(官方源):
apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/debian $(lsb_release -cs) nginx" > /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
apt update
apt install nginx
apt update
apt install mysql-server
mysql_upgrade
apt update
apt install mariadb-server
mysql_upgrade
⚠️ 大版本升级(如 10.3 → 10.6)前:
mysqldump --all-databases > all.sql
Debian 自带 PHP 版本较旧,推荐用 SURY 源
apt install lsb-release ca-certificates apt-transport-https
curl -sSL https://packages.sury.org/php/README.txt
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
curl -sSL https://packages.sury.org/php/apt.gpg | apt-key add -
apt update
apt install php8.2 php8.2-fpm php8.2-mysql php8.2-cli php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl
update-alternatives --set php /usr/bin/php8.2
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
systemctl restart nginx php8.2-fpm
cd lnmp
./upgrade.sh
可选:
⚠️ 一键包升级风险高于 apt,建议测试环境先试
nginx -t
systemctl status nginx php8.2-fpm mysql
php -m
如果你愿意,可以告诉我:
我可以直接给你精确命令。