LNMP(Linux + Nginx + MySQL/MariaDB + PHP)是常见的Web服务堆栈,更新其版本需分别升级每个组件,以下是详细步骤(以Debian 11/12为例):
/etc/nginx/)、MySQL/MariaDB数据库(mysqldump -u root -p --all-databases > all_databases.sql)、PHP配置(/etc/php/)及网站数据,避免升级失败导致数据丢失。sudo apt update && sudo apt upgrade -y && sudo apt full-upgrade -y
sudo apt autoremove -y && sudo apt clean
sudo apt install software-properties-common -y
wget -qO - https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
echo "deb http://nginx.org/packages/mainline/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx -y
nginx -v # 输出示例:nginx/1.25.3
sudo apt install mariadb-server -y
sudo apt install mysql-server -y
sudo mysql_secure_installation
mariadb --version # 或 mysql --version(MySQL)
ondrej/php源(支持PHP 7.4+):sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml -y
sudo systemctl restart php8.2-fpm
php -v # 输出示例:PHP 8.2.12
sudo systemctl restart nginx
sudo systemctl restart mariadb # 或 mysql
sudo systemctl restart php8.2-fpm # 根据实际PHP版本调整
sudo systemctl status nginx
sudo systemctl status mariadb
sudo systemctl status php8.2-fpm
info.php文件(<?php phpinfo(); ?>),通过浏览器访问,验证PHP版本及模块加载情况。sudo apt --fix-broken install修复;nginx:latest、mariadb:latest)即可;通过以上步骤,可安全地将Debian上的LNMP堆栈更新至最新版本,确保系统安全性和功能兼容性。