Ubuntu LNMP高并发处理实战方案
一 架构与容量规划
二 Nginx与系统内核优化
三 PHP-FPM与数据库优化
四 缓存、异步与网关层优化
五 一键落地清单与关键配置示例
sudo apt update && sudo apt install nginx php8.1-fpm php8.1-mysql php8.1-curl php8.1-xml -y/etc/php/8.1/fpm/pool.d/www.conf 中设置 listen = /run/php/php8.1-fpm.sockpriority 100,BACKUP priority 90,virtual_ipaddress { 10.10.0.100/24 },健康检查脚本 systemctl is-active --quiet nginxworker_processes auto;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 16384;
multi_accept on;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_read_timeout 120s;
}
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65535
fs.file-max = 2097152
应用:sudo sysctl -p* soft nofile 65535、* hard nofile 65535pm = dynamic、pm.max_children = 128、pm.start_servers = 16、pm.min_spare_servers = 16、pm.max_spare_servers = 64、listen.backlog = 4096wrk -t12 -c4000 -d60s http://10.10.0.100/