在 Debian 上“升级 LNMP”(Linux + Nginx + MySQL/MariaDB + PHP)通常分几种情况,下面给你一套通用、稳妥的操作思路,你可以根据你当前的环境选择。
nginx -v
php -v
mysql -V
# 或
mariadb -V
查看是否用:
sudo apt update
sudo apt upgrade
这会升级:
sudo apt install --only-upgrade nginx
sudo apt install --only-upgrade php-fpm
sudo apt install --only-upgrade mariadb-server
sudo apt install lsb-release ca-certificates apt-transport-https -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb 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-fpm php8.2-common php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml
sudo systemctl stop php7.4-fpm
sudo systemctl disable php7.4-fpm
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm
修改 nginx 配置:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
sudo nginx -t
sudo systemctl reload nginx
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
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
sudo apt install mariadb-server
sudo mysql_upgrade
sudo apt install mysql-server
⚠️ 大版本升级(如 5.7 → 8.0)建议:
不要用 apt 直接升级!
cd lnmp安装目录
./upgrade.sh
可选:
# 备份
mysqldump -uroot -p --all-databases > all.sql
tar czf /backup/www.tar.gz /var/www
cp -r /etc/nginx /etc/nginx.bak
cp -r /etc/php /etc/php.bak
nginx -t
systemctl status nginx php8.2-fpm mariadb
php -v
如果你愿意,可以告诉我:
我可以直接给你精确到命令的升级方案。