LNMP在Ubuntu上如何更新
导读:Ubuntu 上更新 LNMP 的推荐流程 一 更新前准备 备份关键数据与配置:包括网站目录(如 /var/www/html)、数据库(建议全量导出)、以及各组件的配置文件(如 /etc/nginx/、/etc/mysql/、/etc/p...
Ubuntu 上更新 LNMP 的推荐流程
一 更新前准备
- 备份关键数据与配置:包括网站目录(如 /var/www/html)、数据库(建议全量导出)、以及各组件的配置文件(如 /etc/nginx/、/etc/mysql/、/etc/php/)。
- 检查运行状态:确认 Nginx、MySQL/MariaDB、PHP-FPM 当前工作正常。
- 查看可用更新与版本:执行 sudo apt update,随后用 apt list --upgradable 查看可升级包。
- 重要变更前建议创建系统快照或备份,以便快速回滚。
二 系统级更新
- 更新索引并就地升级已安装包:
- 执行:sudo apt update & & sudo apt upgrade -y
- 如提示有内核或核心组件变更,建议随后执行:sudo apt full-upgrade -y
- 重启系统以完成内核等更新:sudo reboot
- 完成后再次检查各组件版本,确认升级生效。
三 组件级更新
- Nginx
- 升级:sudo apt install --only-upgrade nginx -y
- 配置检查:sudo nginx -t
- 重启:sudo systemctl restart nginx
- MySQL
- 升级:sudo apt install --only-upgrade mysql-server -y
- 安全加固(可选):sudo mysql_secure_installation
- 重启:sudo systemctl restart mysql
- MariaDB
- 升级:sudo apt install --only-upgrade mariadb-server -y
- 安全加固(可选):sudo mysql_secure_installation
- 重启:sudo systemctl restart mariadb
- PHP(以 FPM 为例)
- 升级所有 PHP 包:sudo apt install --only-upgrade php* -y(谨慎,确保包含 php-fpm 与你需要的扩展)
- 或仅升级指定版本与扩展(示例为 PHP 7.4):
- sudo apt install --only-upgrade php7.4 php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip -y
- 重启:sudo systemctl restart php7.4-fpm(按实际版本调整)
- 说明:上述命令会升级到当前 Ubuntu 仓库提供的最新版本;若需跨小版本(如 7.4 → 8.1/8.2),需先添加第三方仓库(见下一节)。
四 跨版本升级 PHP(可选)
- 添加 Ondřej Surý 的 PHP PPA(提供多版本 PHP):
- sudo add-apt-repository ppa:ondrej/php
- sudo apt update
- 查看可用版本:apt-cache search php | grep -E ‘php[0-9]+(.[0-9]+){ 0,2} ’
- 安装目标版本(示例为 8.1):
- sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip
- 切换站点使用的 PHP 版本(常见于 Nginx + PHP-FPM):
- 修改站点配置中的 fastcgi_pass 指向新的 FPM 套接字(如 /run/php/php8.1-fpm.sock),保存后执行:
- sudo nginx -t & & sudo systemctl reload nginx
- 修改站点配置中的 fastcgi_pass 指向新的 FPM 套接字(如 /run/php/php8.1-fpm.sock),保存后执行:
- 验证:php -v 与 sudo systemctl status php8.1-fpm
- 注意:跨版本升级前务必备份与充分测试,生产环境建议先在测试环境验证。
五 验证与回滚
- 验证
- 版本:nginx -v、mysql --version、php -v
- 服务状态:sudo systemctl status nginx、sudo systemctl status mysql/mariadb、sudo systemctl status php7.4-fpm(按实际版本)
- 日志排查:
- Nginx:/var/log/nginx/error.log
- MySQL/MariaDB:/var/log/mysql/error.log 或 /var/log/mariadb/error.log
- PHP-FPM:/var/log/php7.4-fpm.log(按实际版本)
- 回滚
- 包级回滚:使用 sudo apt install = 指定旧版本,或利用 apt-mark hold 临时禁止升级;必要时从快照恢复。
- 建议:升级完成后,清理不再使用的旧版本包与扩展,保持系统简洁。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: LNMP在Ubuntu上如何更新
本文地址: https://pptw.com/jishu/772488.html
