在Linux上配置PHP的并发连接数,这个话题其实挺实操的。很多人在部署Web应用时都会遇到瓶颈——明明服务器资源不差,但请求一多,响应就慢得像蜗牛。问题往往就出在配置上。下面直接说几项核心调整,覆盖PHP-FPM、Nginx和系统内核三个层面,一步一步来。

如何在Linux上配置PHP的并发连接数

1. 调整PHP-FPM配置

如果你用的是PHP-FPM(FastCGI Process Manager),那它就是控制PHP并发能力的“阀门”。配置文件的默认路径通常是 /etc/php/版本号/fpm/pool.d/www.conf/etc/php-fpm.d/www.conf。用你习惯的编辑器打开它,比如 nanovim

sudo nano /etc/php/版本号/fpm/pool.d/www.conf

重点调整以下几个参数,它们直接决定了PHP进程池的行为:

配置示例:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

改完后保存文件,重启服务让配置生效:

sudo systemctl restart php版本号-fpm

2. 调整Nginx配置

Nginx作为反向袋里,它的连接数上限同样会卡住PHP的并发。配置文件通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf

sudo nano /etc/nginx/nginx.conf

两个关键参数:

配置片段:

worker_processes auto;

events {
    worker_connections 1024;
}

保存后重启Nginx:

sudo systemctl restart nginx

需要注意的是,worker_connections 乘以 worker_processes 的总和不应超过系统允许的最大打开文件数(可以先用 ulimit -n 查看)。这一点很多人容易忽略。

3. 调整系统参数

到了这一步,前端和后端都调好了,但操作系统本身可能还有限制。比如内核的TCP连接队列长度、端口范围等。需要修改 /etc/sysctl.conf 文件:

sudo nano /etc/sysctl.conf

添加或修改以下参数:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535

改完后执行 sudo sysctl -p 让配置立即生效。

整个流程走下来,你会发现PHP的并发能力是层层关联的:PHP-FPM的进程数、Nginx的连接数、操作系统内核的限制,哪一个环节没跟上,都会成为短板。按上面三步调整,基本就能榨干服务器资源,应对大多数业务场景了。

本文转载于:https://www.yisu.com/ask/45670636.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。