温馨提示×

如何升级LNMP到最新版

小樊
48
2026-07-23 05:06:32
栏目: 编程语言

升级 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 到最新版,常见有三种方式,取决于你当初是怎么安装的。下面我按最常见场景给你一套稳妥、可回滚的升级方案,并标注注意事项。


一、先确认当前环境(非常重要)

# 系统版本
cat /etc/os-release

# 查看当前版本
nginx -v
mysql -V
php -v

常见情况:

  • 源码编译安装(lnmp.org 一键包)
  • yum / apt 仓库安装
  • Docker / 宝塔 / aaPanel

二、方式一:LNMP.org 一键安装包(最常见)

如果你是用 lnmp.org 安装的,这是官方推荐方式

1️⃣ 备份(必须)

# 网站数据
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

2️⃣ 下载最新版 LNMP

cd /root
wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0

3️⃣ 升级(不要选全新安装)

./upgrade.sh

可选升级项:

  • ✅ Nginx
  • ✅ MySQL / MariaDB
  • ✅ PHP

⚠️ 建议一次只升级一个组件,避免同时出问题。


4️⃣ 升级后检查

nginx -t
systemctl restart nginx
systemctl restart php-fpm
systemctl restart mysql

三、方式二:YUM / APT 仓库安装(推荐生产环境)

✅ CentOS / Rocky / AlmaLinux

# 更新系统
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*

✅ Ubuntu / Debian

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:

docker pull nginx:latest
docker pull mysql:latest
docker pull php:8.3-fpm

然后:

  • 重建容器
  • 挂载原数据目录
  • 不删 volume

最安全、可回滚


五、升级顺序建议(非常重要)

推荐顺序:

  1. ✅ 先升级 Nginx
  2. ✅ 再升级 PHP
  3. ✅ 最后升级 MySQL / MariaDB

原因:

  • MySQL 升级风险最高
  • PHP 新版本可能不兼容旧代码
  • Nginx 最稳定

六、常见坑位(90% 的人会踩)

❌ PHP 升级后网站 502

# 检查 sock 路径
ls /tmp/php-cgi.sock

Nginx 配置需匹配:

fastcgi_pass unix:/tmp/php-cgi.sock;

❌ MySQL 升级失败

  • 不要跨大版本(如 5.7 → 8.0 需单独处理)
  • 先备份 + 测试

❌ 网站打不开

tail -f /usr/local/nginx/logs/error.log

七、升级后必须检查清单 ✅

  • [ ] 网站能否正常访问
  • [ ] HTTPS 是否正常
  • [ ] 数据库是否启动
  • [ ] PHP 扩展是否齐全(redis、gd、curl)
  • [ ] 定时任务(cron)

八、我可以帮你定制方案

你可以直接告诉我:

  1. ✅ 系统版本(CentOS 7?Ubuntu 22?)
  2. ✅ 当初怎么装的 LNMP
  3. ✅ 当前 Nginx / PHP / MySQL 版本
  4. ✅ 是生产环境还是测试环境

我可以给你 一条命令一条命令的升级方案,甚至可以帮你写 回滚方案

0