在Debian上部署和優化LAMP(Linux, Apache, MySQL/MariaDB, PHP)棧是一個常見的需求,尤其是在需要高性能和高穩定性的Web應用中。以下是一些優化性能的步驟和建議:
apt
安裝指定版本及其模塊,例如:sudo apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-fpm
mod_rewrite
和mod_expires
等模塊以優化靜態內容處理。sudo a2enmod rewrite
sudo a2enmod expires
/etc/apache2/apache2.conf
或/etc/apache2/sites-available/000-default.conf
,調整以下參數:
StartServers
: 控制啟動時的服務器進程數。MinSpareServers
和MaxSpareServers
: 控制空閑服務器進程的數量。MaxRequestWorkers
: 限制同時處理請求的服務器進程數。MaxConnectionsPerChild
: 限制每個服務器進程處理的請求數。/etc/mysql/mariadb.conf.d/50-server.cnf
,調整以下參數:
innodb_buffer_pool_size
: 設置InnoDB緩沖池大小,通常是系統內存的50%-80%。query_cache_size
: 啟用查詢緩存,但要注意其開銷。max_connections
: 設置最大并發連接數。mysqlcheck
進行數據庫優化和修復。sudo mysqlcheck -u root -p --all-databases --auto-repair
/etc/php/8.2/apache2/php.ini
,調整以下參數:
memory_limit
: 根據應用需求調整內存限制。max_execution_time
: 設置腳本的最大執行時間。upload_max_filesize
和post_max_size
: 調整文件上傳大小。/etc/php/8.2/fpm/pool.d/www.conf
,調整以下參數:
pm.max_children
: 設置池中的子進程數。pm.start_servers
: 設置啟動時的子進程數。pm.min_spare_servers
和pm.max_spare_servers
: 控制空閑子進程的數量。sudo apt install php8.2-opcache
sudo phpenmod opcache
sudo systemctl restart apache2
/etc/network/interfaces
或netplan
(如果使用Netplan)。sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
htop
、glances
或Prometheus
和Grafana
監控系統性能。通過以上步驟,可以顯著提高Debian上LAMP棧的性能和穩定性。根據具體需求和環境,可能需要進一步調整和優化。