優化Debian上的LNMP(Linux, Nginx, MySQL/MariaDB, PHP)環境可以從多個方面進行,包括性能、安全性、資源利用率等。以下是一些基本的優化步驟和建議:
auto
以自動根據CPU核心數調整工作進程數。auto
以自動分配工作進程到不同的CPU核心。65535
以允許更多的文件描述符。/var/logs/nginx/error.log
以減少日志記錄對性能的影響。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
/etc/php/7.x/fpm/php.ini
):
memory_limit
和max_execution_time
。pm.max_children
、pm.start_servers
、pm.min_spare_servers
和pm.max_spare_servers
以優化PHP-FPM進程管理。innodb_buffer_pool_size
,通常設置為系統內存的50%-80%。max_connections
以匹配服務器的處理能力。query_cache_size
和query_cache_type
。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
限制入站和出站流量,僅允許必要的端口(如HTTP、HTTPS和SSH)連接。mysql_secure_installation
命令進行安全設置,包括修改MySQL的默認口令、關閉3306端口監聽(如果不需要遠程訪問)、修改默認字符集等。在進行任何配置更改后,都應該進行充分的測試以確保系統的穩定性和性能提升。