一、硬件層面優化
二、操作系統層面優化
vm.swappiness=5(減少交換分區使用)、vm.dirty_background_ratio=5(后臺臟頁刷新閾值)、net.ipv4.tcp_tw_reuse=1(復用TIME-WAIT連接)。noatime(減少文件訪問時間記錄)與nodiratime(減少目錄訪問時間記錄)。三、Nginx配置優化
worker_processes auto;(自動匹配CPU核心數),worker_connections 65535;(單個進程最大并發連接數),提升并發處理能力。proxy_cache緩存靜態/動態內容(如proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;),減少后端請求;開啟gzip on;壓縮(gzip_types text/plain text/css application/json;),降低傳輸數據量。expires 30d;緩存頭,避免重復請求。四、MySQL/MariaDB配置優化
innodb_buffer_pool_size為服務器總內存的50%-80%(如16GB內存設為10GB),提升InnoDB引擎性能;設置max_connections為預期并發連接數(如500-1000),避免連接過多導致崩潰。slow_query_log(slow_query_log=1)并設置long_query_time=2(超過2秒的查詢記錄),定期用pt-query-digest分析慢查詢并優化索引;每周執行OPTIMIZE TABLE整理表碎片,提升查詢效率。五、PHP配置優化
zend_extension=opcache.so; opcache.enable=1),設置opcache.memory_consumption=64(緩存大?。?、opcache.max_accelerated_files=10000(緩存文件數),加速PHP代碼執行;調整PHP-FPM參數(pm.max_children=50、pm.start_servers=5、pm.min_spare_servers=5、pm.max_spare_servers=35),根據內存與CPU核心數合理分配子進程,避免資源浪費或不足。memory_limit=128M(單個腳本內存限制)、max_execution_time=30(腳本最大執行時間),防止腳本占用過多資源。六、監控與日志分析
/var/log/nginx/error.log)、MySQL(/var/log/mysql/error.log)、PHP(/var/log/php-fpm/error.log)的錯誤日志,分析慢查詢、連接超報等問題根源,針對性優化。七、負載均衡與高可用
upstream模塊將流量分發到多個后端服務器(如upstream backend { server 192.168.1.1; server 192.168.1.2; }),提升系統吞吐量。八、安全措施
firewalld或iptables關閉不必要的端口(如FTP、Telnet),僅開放80(HTTP)、443(HTTPS)、3306(MySQL)等必要端口,限制非法訪問。nginx、mysql、php-fpm),設置最小權限(如MySQL用戶僅授予所需數據庫權限),防止越權操作。