一、升级前的准备工作
升级LNMP(Linux、Nginx、MySQL/MariaDB、PHP)组件前,数据备份是核心前提,需备份所有网站数据(如/var/www/html/下的文件)、配置文件(Nginx的/etc/nginx/、MySQL的/etc/mysql/、PHP的/etc/php/)及数据库(使用mysqldump或mariadb-dump导出所有数据库)。此外,需更新系统软件包(Ubuntu/Debian用sudo apt update && sudo apt upgrade -y,CentOS用sudo yum update -y),并检查当前组件版本(nginx -v、mysql --version/mariadb -V、php -v),确认当前版本及目标版本的兼容性(如LNMP 1.7及以上支持PHP 7.4,需确保系统版本符合要求)。
二、分组件升级步骤
Nginx升级需先备份配置文件(sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak),然后通过系统包管理器更新:
sudo apt install nginx(自动替换旧版本并保留配置);sudo yum install nginx(需注意依赖关系)。sudo systemctl restart nginx。MySQL/MariaDB升级需优先备份数据库(全量备份用sudo mysqldump -u root -p --all-databases > full-backup.sql或sudo mariadb-dump -u root -p --all-databases > full-backup.sql)。
sudo apt install mysql-server(若从旧版本升级,可能需要先运行sudo mysql_upgrade修复表结构);sudo yum update mariadb-server mariadb(MariaDB升级后需重启服务)。sudo systemctl restart mysqld(MySQL)或sudo systemctl restart mariadb(MariaDB)。PHP升级需备份配置文件(sudo cp /etc/php.ini /etc/php.ini.bak),若使用LNMP一键脚本,可直接运行升级命令(如sudo ./upgrade.sh php);若手动升级,需下载新版本源码包(如wget https://www.php.net/distributions/php-8.2.0.tar.gz),解压后编译安装(./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --enable-fpm && make && sudo make install),最后重启PHP-FPM服务(sudo systemctl restart php7.4-fpm,版本号需替换为新版本,如php8.2-fpm)。
三、使用LNMP一键脚本升级
若通过LNMP一键脚本安装,可直接使用脚本自带的升级功能:
backup命令,如cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak);wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz);tar zxf lnmp1.8.tar.gz && cd lnmp1.8);./upgrade1.x-1.8.sh,根据提示选择升级组件)。四、升级后验证与注意事项
升级完成后,通过以下命令确认版本是否更新:
nginx -v(检查Nginx版本);mysql --version(MySQL)或mariadb -V(MariaDB);php -v(PHP版本)。systemctl status nginx、systemctl status mysqld、systemctl status php-fpm);/var/log/nginx/error.log)、PHP(/var/log/php-fpm.log)、MySQL(/var/log/mysql/error.log)日志,排查潜在错误;