优化 LNMP(Linux + Nginx + MySQL + PHP)内存占用,核心思路是:减少不必要的进程/模块、限制并发、使用轻量配置、必要时更换组件。下面按组件给你一套实用优化方案,适合低内存服务器(如 1–2 GB)。
systemctl disable --now bluetooth cups avahi-daemon
只保留 SSH、Nginx、PHP、MySQL 相关服务。
如果内存 ≤ 2GB,建议开启 swap:
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
worker_processes 1; # 单核服务器
worker_connections 512;
server_tokens off;
gzip off; # 内存紧张时可关闭
client_max_body_size 2m;
client_body_buffer_size 128k;
编辑:
/etc/php/*/fpm/pool.d/www.conf
ondemand(最省内存)pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 10s
php_admin_value[memory_limit] = 64M
pm.max_requests = 200
ps aux | grep php-fpm
一般优化后:
编辑:
/etc/my.cnf
[mysqld]
innodb_buffer_pool_size = 128M
key_buffer_size = 32M
max_connections = 30
table_open_cache = 200
sort_buffer_size = 512K
read_buffer_size = 512K
performance_schema = OFF
php -m
删除:
PHP 8 比 7.2/7.4 更省内存。
define('WP_DEBUG', false);
free -h
htop
ps aux --sort=-%mem | head
如果内存非常小:
✅ 1–2 GB 服务器推荐配置
如果你愿意,可以告诉我:
free -h 输出我可以帮你给出精确配置参数。