Debian LNMP节省资源优化方案
worker_processes设为auto(自动匹配CPU核心数),避免过多进程浪费CPU;worker_connections设为1024或更高(如2048),提升单进程并发处理能力;worker_rlimit_nofile设为65535,满足高并发下的文件描述符需求。sendfile(减少文件传输的系统调用开销)、tcp_nodelay(提升网络I/O性能);关闭gzip压缩(若对传输速度要求高于CPU节省,可禁用以减少CPU消耗)。keepalive_timeout为65秒(延长连接复用时间)、keepalive_requests为100000(增加单连接处理请求数);将error_log级别设为error(仅记录错误信息),减少日志写入对性能的影响。pm模式设为static(静态分配进程,减少动态创建的开销);pm.max_children根据服务器内存计算(如1GB内存可设为5-10,公式:(总内存 - 系统预留) / 单个PHP进程内存,单个进程约占用100-200MB);pm.start_servers、pm.min_spare_servers、pm.max_spare_servers分别设为启动时进程数、最小空闲进程数、最大空闲进程数(如2、1、3),避免频繁创建/销毁进程。opcache.enable=1,并配置opcache.memory_consumption=256(分配256MB给OpCache)、opcache.max_accelerated_files=10000(缓存1万个PHP文件)、opcache.validate_timestamps=1(定期验证脚本更新),减少PHP脚本的重复编译开销。request_terminate_timeout=300(300秒),防止长时间运行的脚本占用PHP-FPM进程,导致内存泄漏。innodb_buffer_pool_size设为系统内存的50%-80%(如4GB内存设为2-3GB),缓存InnoDB表数据和索引,减少磁盘IO。max_connections(如100-200),避免过多连接导致内存耗尽;若并发连接数高,可使用连接池(如ProxySQL)减少连接开销。query_cache_type=0、query_cache_size=0,若查询重复率低,查询缓存反而会增加开销);设置tmp_table_size=64M、max_heap_table_size=64M,减少临时表使用磁盘的概率。ulimit -n 65535临时设置,或在/etc/security/limits.conf中永久修改(添加* soft nofile 65535、* hard nofile 65535),满足Nginx、PHP-FPM的高并发需求。sysctl命令优化网络性能,如net.core.somaxconn=65535(增加监听队列长度)、net.ipv4.tcp_fin_timeout=30(缩短TIME_WAIT状态超时)、net.ipv4.tcp_fastopen=3(启用TCP快速打开),减少连接建立的开销。apt autoremove删除不必要的软件包(如acpi、nano、vim等),释放内存;使用logrotate工具定期压缩和删除Nginx、PHP-FPM、MySQL的日志文件,避免日志占用过多磁盘空间。htop(实时查看CPU/内存占用)、glances(综合监控系统资源)、Prometheus+Grafana(可视化监控)等工具,及时发现资源瓶颈(如MySQL内存占用过高、PHP-FPM进程数过多),针对性调整配置。