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組件的穩定性,建議在測試環境驗證后再操作。