温馨提示×

debian lnmp怎么升级

小樊
47
2026-09-28 22:55:23
栏目: 智能运维

在 Debian 上“升级 LNMP”(Linux + Nginx + MySQL/MariaDB + PHP)通常分几种情况,下面给你一套通用、稳妥的操作思路,你可以根据你当前的环境选择。


一、先确认当前环境

nginx -v
php -v
mysql -V
# 或
mariadb -V

查看是否用:

  • 系统自带源(apt)
  • 第三方源(如 dotdeb、ondrej、lnmp.org 一键包)

二、最推荐方式:用 apt 升级(系统源)

1. 更新软件源

sudo apt update
sudo apt upgrade

这会升级:

  • nginx
  • php
  • mariadb / mysql(若为系统包)

2. 单独升级某个组件

sudo apt install --only-upgrade nginx
sudo apt install --only-upgrade php-fpm
sudo apt install --only-upgrade mariadb-server

三、升级 PHP(常见重点)

Debian 默认 PHP 版本较低,可用第三方源

添加 Sury PHP 源(最常用)

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

安装新版 PHP(如 8.2)

sudo apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml

切换 Nginx 使用的 PHP

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

四、升级 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

五、升级 MySQL / MariaDB

MariaDB(Debian 常见)

sudo apt install mariadb-server
sudo mysql_upgrade

MySQL

sudo apt install mysql-server

⚠️ 大版本升级(如 5.7 → 8.0)建议:

  • 备份数据库
  • 看官方升级文档

六、如果你是用 lnmp.org 一键包

不要用 apt 直接升级!

cd lnmp安装目录
./upgrade.sh

可选:

  • upgrade nginx
  • upgrade mysql
  • upgrade php

七、升级前必做(非常重要)

# 备份
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

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

  • Debian 版本(11 / 12?)
  • 当前 PHP / Nginx 版本
  • 是否用一键包

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

0 踩