Ubuntu系统更新前置准备
在更新LNMP(Linux, Nginx, MySQL/MariaDB, PHP)组件前,需先确保Ubuntu系统本身的软件包列表是最新的,避免因系统包版本过旧导致组件兼容性问题。执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
此命令会同步远程软件源的最新包信息,并升级系统中所有可升级的包。
1. 更新Nginx到最新版本
Nginx的安装与更新通过Ubuntu默认的apt包管理器完成。执行以下命令:
sudo apt install nginx -y
若已安装Nginx,该命令会自动检测并升级到软件源中的最新稳定版;若未安装,则直接安装最新版。升级完成后,重启Nginx服务使更改生效:
sudo systemctl restart nginx
可通过nginx -v命令验证版本是否更新。
2. 更新MySQL/MariaDB到最新版本
MySQL与MariaDB的更新逻辑类似,均通过apt管理。若使用MySQL,执行:
sudo apt install mysql-server -y
若使用MariaDB,执行:
sudo apt install mariadb-server -y
安装过程中,系统可能提示设置root用户密码(若首次安装)。升级完成后,建议运行安全脚本强化数据库安全性:
sudo mysql_secure_installation
最后重启数据库服务:
# 若使用MySQL
sudo systemctl restart mysql
# 若使用MariaDB
sudo systemctl restart mariadb
通过mysql --version(MySQL)或mariadb --version(MariaDB)验证版本。
3. 更新PHP及相关扩展到最新版本
PHP及其扩展的更新需统一处理。首先安装最新版PHP及常用模块:
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
其中,php-fpm是PHP FastCGI进程管理器(适用于Nginx),php-mysql是PHP连接MySQL/MariaDB的扩展,其他模块根据实际需求选择(如php-curl用于HTTP请求、php-gd用于图像处理)。
升级完成后,重启PHP-FPM服务(需根据实际PHP版本调整命令,如PHP 8.1则为php8.1-fpm):
sudo systemctl restart php7.4-fpm # 示例:PHP 7.4版本
通过php -v命令验证PHP版本。
4. 重启关联服务并验证
更新所有组件后,需重启Nginx与数据库服务以确保新版本生效:
sudo systemctl restart nginx
# 根据数据库类型选择
sudo systemctl restart mysql # MySQL
sudo systemctl restart mariadb # MariaDB
sudo systemctl restart php7.4-fpm # PHP-FPM
验证各组件状态:
sudo systemctl status nginx # 应显示“active (running)”
sudo systemctl status mysql # 或 mariadb
sudo systemctl status php7.4-fpm # 根据PHP版本调整
再次检查版本信息(nginx -v、mysql --version、php -v),确认所有组件均已更新至最新版本。
注意事项
/var/www/html)、数据库(如mysqldump导出)及配置文件(如/etc/nginx/nginx.conf、/etc/php/7.4/fpm/php.ini),防止更新过程中出现意外导致数据丢失。sudo do-release-upgrade命令,但需注意系统升级可能影响LNMP组件的稳定性,建议在测试环境验证后再操作。