在 Debian 上“升级 LNMP”通常指升级 Linux + Nginx + MySQL/MariaDB + PHP,下面按安全、可控的方式给你一套通用做法,适用于 Debian 10/11/12。
# 网站目录
tar czf /root/www_backup.tar.gz /var/www
# 数据库
mysqldump -uroot -p --all-databases > /root/mysql_all.sql
# 配置
cp -r /etc/nginx /root/nginx_backup
cp -r /etc/php /root/php_backup
cp -r /etc/mysql /root/mysql_backup
nginx -v
php -v
mysql -V
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
如要升级 Debian 大版本(如 11 → 12):
sudo apt full-upgrade
sudo apt install nginx -y
sudo apt install curl gnupg2 ca-certificates lsb-release -y
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx -y
mysql -V
sudo apt update
sudo apt install mysql-server -y
# 或 MariaDB
sudo apt install mariadb-server -y
⚠️ 大版本升级(如 5.7 → 8.0)
mysql_upgrade -u root -p
sudo apt install lsb-release ca-certificates apt-transport-https -y
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
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/php.list
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml -y
sudo update-alternatives --set php /usr/bin/php8.2
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
sudo systemctl restart nginx php8.2-fpm
nginx -t
systemctl status nginx
systemctl status php8.2-fpm
systemctl status mysql
访问网站,确认:
如果你是 lnmp.org 一键安装包:
cd lnmp安装目录
./upgrade.sh
可分别升级:
php -m
缺啥装啥:
sudo apt install php8.2-xxx
→ PHP-FPM sock 路径不对
→ 检查 localhost vs 127.0.0.1
如果你愿意,可以告诉我:
我可以直接给你精确升级命令。