温馨提示×

ubuntu php-fpm怎么提速

小樊
39
2026-09-25 16:28:59
栏目: 编程语言

在 Ubuntu 上优化 PHP-FPM 速度,通常从 配置调优、系统资源、OPcache、慢脚本、Web 服务器配合 几个方面入手。下面给你一套实用方案(从最有用到进阶)。


一、最立竿见影:开启并优化 OPcache(必做)

PHP 执行慢,90% 是因为没开 OPcache。

1. 安装 OPcache

sudo apt install php-opcache

2. 编辑 php.ini(路径可能因版本不同)

sudo nano /etc/php/8.1/fpm/php.ini

建议配置:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0   ; 生产环境建议 0

开发环境可保留 validate_timestamps=1

重启:

sudo systemctl restart php8.1-fpm

二、PHP-FPM 进程池调优(关键)

配置文件:

/etc/php/8.1/fpm/pool.d/www.conf

1. 使用 static(高并发服务器)

pm = static
pm.max_children = 100

2. 或使用 dynamic(更省内存)

pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30

3. 调整请求回收(防内存泄漏)

pm.max_requests = 500

4. 使用 Unix Socket(比 TCP 快)

listen = /run/php/php8.1-fpm.sock

Nginx 中对应:

fastcgi_pass unix:/run/php/php8.1-fpm.sock;

重启:

sudo systemctl restart php8.1-fpm

三、减少 PHP 执行时间(代码层)

1. 开启慢日志

slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 2s

查看慢脚本:

tail -f /var/log/php-fpm/slow.log

2. 禁用不必要的函数

disable_functions = exec,passthru,shell_exec,system

四、系统层面提速

1. 文件描述符限制

sudo nano /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

2. 调整内核参数(高并发)

sudo sysctl -w net.core.somaxconn=65535

五、Web 服务器配合(Nginx 示例)

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 60;

六、常见坑总结

❌ 没开 OPcache
❌ pm 用 default(通常太小)
❌ TCP 而不是 socket
❌ 慢 SQL / 外部 API 阻塞
❌ 内存不足导致 swap


七、快速自查命令

php -m | grep opcache
ps aux | grep php-fpm
htop

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 使用的 Web 服务器(Nginx / Apache)
  • 服务器配置(CPU / 内存)

我可以给你一套精确参数模板。

0 踩