CentOS LNMP升級注意事項
升級前必須備份所有關鍵數據,包括:Nginx配置文件(/etc/nginx/)、MySQL/MariaDB數據庫(使用mysqldump或mariadb-dump導出所有數據庫)、PHP配置文件(/etc/php.ini、/etc/php-fpm.conf及自定義擴展配置)、網站程序文件(/var/www/或自定義站點目錄)。備份文件需存儲在本地或遠程安全位置(如對象存儲),確保升級失敗時可快速恢復。
升級前需確認各組件版本之間的兼容性:
建議按“Nginx→MySQL/MariaDB→PHP”的順序逐步升級,而非一次性升級所有組件:
yum安裝,直接運行sudo yum update nginx;若源碼編譯,需下載新版本源碼,重新./configure、make、make install;sudo yum remove mysql-server)后安裝新版本,MariaDB同理;yum安裝,運行sudo yum update php php-mysqlnd php-fpm;若源碼編譯,需調整./configure參數(如添加--with-mysqli)并重新編譯安裝。每升級一個組件后,重啟服務(sudo systemctl restart nginx/mysqld/php-fpm)并驗證版本(nginx -v/mysql -V/php -v)。升級后,檢查各組件配置文件是否有不兼容的更改:
nginx.conf,重點檢查server塊、location指令(如PHP處理部分的fastcgi_pass路徑是否指向新PHP-FPM socket)、worker_processes等參數;my.cnf(或/etc/mysql/my.cnf),確認innodb_buffer_pool_size、max_connections等參數是否合理,避免新版本默認值導致性能問題;php.ini,確認memory_limit、upload_max_filesize、opcache.enable等參數是否符合應用需求(如PHP 8.0+默認開啟opcache,需調整opcache.memory_consumption)。優先在測試環境(如虛擬機、臨時服務器)中模擬升級流程,完成升級后:
phpinfo()),驗證PHP擴展(如mysqli、gd)是否加載成功。測試通過后再在生產環境執行升級。升級過程中及完成后,密切監控服務狀態和日志:
sudo systemctl status nginx、sudo systemctl status mysqld、sudo systemctl status php-fpm檢查服務是否正常運行,若有異常(如active (exited)),需查看對應日志;/var/log/nginx/error.log)、MySQL錯誤日志(/var/log/mysqld.log)、PHP-FPM錯誤日志(/var/log/php-fpm/error.log),及時發現并解決升級導致的配置錯誤或兼容性問題。升級后需強化系統安全:
http_gunzip_module若未使用),減少攻擊面;/var/www/html設置為755,文件設置為644),避免PHP腳本被未授權訪問;exec、shell_exec),僅啟用必需擴展(如mysqli、pdo_mysql),降低安全風險。