升级 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 到最新版,常见有三种方式,取决于你当初是怎么安装的。下面我按最常见场景给你一套稳妥、可回滚的升级方案,并标注注意事项。
# 系统版本
cat /etc/os-release
# 查看当前版本
nginx -v
mysql -V
php -v
常见情况:
如果你是用 lnmp.org 安装的,这是官方推荐方式。
# 网站数据
tar czf /root/www_backup.tar.gz /home/wwwroot
# 数据库
mysqldump -uroot -p --all-databases > /root/all_db.sql
# 配置
cp -r /usr/local/nginx/conf /root/nginx_conf_bak
cp -r /usr/local/php/etc /root/php_conf_bak
cd /root
wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./upgrade.sh
可选升级项:
⚠️ 建议一次只升级一个组件,避免同时出问题。
nginx -t
systemctl restart nginx
systemctl restart php-fpm
systemctl restart mysql
# 更新系统
yum update -y
# 升级 Nginx
yum install nginx -y
# 升级 MySQL
yum install mysql-server -y
# 升级 PHP(Remi 仓库)
yum install yum-utils -y
yum-config-manager --enable remi-php83
yum update php*
apt update && apt upgrade -y
# PHP 新版本(示例)
add-apt-repository ppa:ondrej/php
apt update
apt install php8.3 php8.3-fpm php8.3-mysql
如果你用的是 Docker:
docker pull nginx:latest
docker pull mysql:latest
docker pull php:8.3-fpm
然后:
✅ 最安全、可回滚
推荐顺序:
原因:
# 检查 sock 路径
ls /tmp/php-cgi.sock
Nginx 配置需匹配:
fastcgi_pass unix:/tmp/php-cgi.sock;
tail -f /usr/local/nginx/logs/error.log
你可以直接告诉我:
我可以给你 一条命令一条命令的升级方案,甚至可以帮你写 回滚方案。