在升级LNMP组件前,需确保系统包为最新状态,以避免依赖冲突。执行以下命令:
sudo apt update && sudo apt upgrade -y # 更新包列表并升级所有可升级的系统包
sudo apt autoremove -y # 删除无用的依赖包(可选)
注意:升级前建议备份重要数据(如网站文件、数据库),防止意外情况导致数据丢失。
Nginx的更新需通过官方或可信仓库确保版本安全:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:nginx/stable -y
sudo apt update
sudo apt install nginx -y # 升级Nginx至最新版本
sudo systemctl restart nginx # 重启服务使变更生效
nginx -v # 查看当前Nginx版本
MySQL与MariaDB的升级需根据当前安装的数据库类型选择对应命令:
mysql --version # 若显示MySQL则执行下方MySQL命令
mariadb --version # 若显示MariaDB则执行下方MariaDB命令
sudo apt install mysql-server -y # 升级至最新稳定版
sudo mysql_secure_installation # 运行安全脚本(设置root密码、移除匿名用户等)
sudo systemctl restart mysql
sudo apt install mariadb-server -y # 升级至最新稳定版
sudo mysql_secure_installation # 同上
sudo systemctl restart mariadb
mysql --version # 或 mariadb --version
PHP的更新需通过第三方仓库(如ondrej/php)获取最新版本,官方仓库版本通常较旧:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y # 支持PHP 7.x/8.x
sudo apt update
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y # 升级PHP及扩展
sudo systemctl restart php-fpm # 重启PHP-FPM服务
php -v # 查看当前PHP版本
/etc/nginx/sites-available/default
),确保fastcgi_pass
指向正确的PHP-FPM套接字:location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 修改为当前PHP版本的套接字路径
}
测试配置语法并重启Nginx:sudo nginx -t && sudo systemctl restart nginx
升级完成后,检查所有服务是否正常运行:
sudo systemctl status nginx # 确认Nginx运行状态
sudo systemctl status mysql # 或 mariadb
sudo systemctl status php-fpm # 确认PHP-FPM运行状态
若服务未启动,可通过journalctl -xe
查看日志排查问题。
/var/www/html
)、数据库(如mysqldump -u root -p dbname > backup.sql
)及配置文件(如/etc/nginx/
、/etc/php/
)。sudo apt --fix-broken install
修复。