LNMP是指Linux系統下Nginx、MySQL和PHP(或Perl、Python)這種網站服務器架構。優化Debian上的LNMP性能可以從多個方面進行,包括性能、安全性、資源利用率等。以下是一些基本的優化步驟和建議:
Nginx優化:
worker_processes
為 auto
以自動適應CPU核心數。worker_cpu_affinity
為 auto
以自動分配CPU親和性。worker_rlimit_nofile
為 65535
以允許更多的文件描述符。sendfile
以啟用sendfile系統調用。gzip
壓縮以減少CPU使用。fastcgi_read_timeout
為 300000
以增加FastCGI應用程序的響應時間。tcp_nodelay
以提高I/O性能。server_tokens
以減少HTTP頭信息的大小。keepalive_timeout
為 65
以保持連接復用。keepalive_requests
為 100000
以允許更多的保持活動請求。error_log
為 /var/logs/nginx/error.log
以減少日志記錄對性能的影響。PHP優化:
opcache
,例如:
opcache.enable=1
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.validate_timestamps=1
opcache.fast_shutdown=1
opcache.jiton=1
opcache.jit_buffer_size=128
MySQL優化:
innodb_buffer_pool_size
,通常設置為系統內存的50%-80%。max_connections
以匹配服務器的處理能力。query_cache_size
和 query_cache_type
。Linux系統優化:
ulimit -n 65535
提高文件描述符限制。sysctl -w net.core.somaxconn=65535
net.ipv4.ip_local_port_range="1024 65535"
net.ipv4.tcp_fin_timeout="30"
net.ipv4.tcp_slow_start_after_idle="0"
net.ipv4.tcp_fastopen="3"
net.ipv4.tcp_syncookies="1"
net.core.netdev_max_backlog="65535"
net.nf_conntrack_max="2097152"
ufw
或 iptables
限制對服務器的訪問。mysql_secure_installation
命令進行安全設置。Prometheus
和 Grafana
來監控服務器的性能。在進行任何配置更改后,都應該進行充分的測試以確保系統的穩定性和性能提升。