在 Ubuntu 上升级 LNMP(Linux + Nginx + MySQL/MariaDB + PHP),一般分 系统级升级 和 组件单独升级 两种情况。下面按常见、安全的做法给你一个完整指南。
# 网站目录
tar czf /backup/www.tar.gz /var/www
# 数据库
mysqldump -u root -p --all-databases > /backup/all_db.sql
# 配置文件
cp -r /etc/nginx /backup/nginx_conf
cp -r /etc/php /backup/php_conf
cp -r /etc/mysql /backup/mysql_conf
nginx -v
php -v
mysql -V
lsb_release -a
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo do-release-upgrade
⚠️ 跨版本升级风险较高,建议先在测试环境验证。
sudo apt install nginx
sudo apt install curl gnupg2 ca-certificates lsb-release
sudo add-apt-repository ppa:nginx/stable
sudo apt update
sudo apt install nginx
sudo apt install mysql-server
sudo mysql_upgrade -u root -p
sudo apt install mariadb-server
sudo mysql_upgrade
⚠️ 大版本升级(如 5.7 → 8.0)需提前测试兼容性。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-cli php8.2-common
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
如果你用的是 lnmp.org 一键安装包:
cd lnmp安装目录
./upgrade.sh
可选:
nginx -t
systemctl status nginx
systemctl status php8.2-fpm
systemctl status mysql
php -v
如果你能告诉我:
我可以给你 更精确的升级命令。