Ubuntu LAMP網絡優化方法
使用Ubuntu推薦的Netplan工具管理網絡配置(配置文件位于/etc/netplan/
,如50-cloud-init.yaml
),確保IP地址、網關、DNS服務器設置正確,避免手動修改網絡腳本導致的兼容性問題。同時,啟用systemd-networkd
服務替代傳統NetworkManager,提升網絡接口管理的穩定性和效率。
/etc/apache2/apache2.conf
中設置KeepAlive Off
,禁用持久連接以減少服務器資源占用;若需保持連接,可將KeepAliveTimeout
設置為5-10秒(默認15秒),避免空閑連接占用端口。Event
模式(默認)適合高并發場景,Prefork
適合兼容性要求高的環境;調整MaxRequestWorkers
(最大并發請求數)為服務器內存的1/4(如8GB內存設置為2048),避免進程過多導致內存耗盡。mod_deflate
模塊啟用Gzip壓縮(配置AddOutputFilterByType DEFLATE text/html text/css application/javascript
),減小傳輸數據量(通??蓽p少60%-70%);使用mod_cache
和mod_disk_cache
緩存靜態內容(如圖片、CSS),降低重復請求的處理時間。/etc/mysql/my.cnf
中增大innodb_buffer_pool_size
(InnoDB緩沖池,建議設置為服務器內存的50%-70%,如8GB內存設置為4096M),緩存更多數據和索引,減少磁盤I/O;優化key_buffer_size
(MyISAM索引緩沖區,適合MyISAM表)和query_cache_size
(查詢緩存,適合讀多寫少的場景)。EXPLAIN
語句分析慢查詢,添加合適的索引(如主鍵、唯一索引、聯合索引)提升查詢速度;避免SELECT *
,只查詢必要字段,減少數據傳輸量。php-opcache
擴展(sudo apt install php-opcache && sudo phpenmod opcache
),緩存編譯后的PHP腳本,避免重復編譯(可提升20%-30%的執行速度);調整opcache.memory_consumption
(緩存大小,建議128M-256M)和opcache.revalidate_freq
(緩存驗證頻率,建議60-300秒)。php.ini
文件禁用未使用的PHP擴展(如xdebug
、gd
(若不需要圖片處理)),減少內存占用和啟動時間。sysctl
命令優化TCP緩沖區大?。?code>net.ipv4.tcp_rmem = 4096 87380 67108864、net.ipv4.tcp_wmem = 4096 65536 67108864
)、開啟TCP窗口縮放(net.ipv4.tcp_window_scaling = 1
)、啟用TCP快速重傳(net.ipv4.tcp_fastopen = 3
)和BBR擁塞控制算法(net.ipv4.tcp_congestion_control = bbr
),提升數據傳輸效率。ufw
(Uncomplicated Firewall)僅開放必要端口(HTTP 80、HTTPS 443、MySQL 3306),阻止非法訪問;定期檢查防火墻日志(sudo ufw status verbose
),及時發現異常流量。使用iftop
(實時監控網絡流量)、nethogs
(按進程統計網絡使用)、iperf3
(測試網絡帶寬)等工具監控網絡性能,定期分析瓶頸(如帶寬不足、連接數過多);通過vmstat
、top
監控系統資源(CPU、內存、磁盤I/O),結合日志分析(Apache的access.log
、MySQL的slow_query.log
)持續調整優化策略。