温馨提示×

怎么优化Ubuntu的PHP性能

小樊
32
2026-08-24 10:38:03
栏目: 编程语言

优化 Ubuntu 上的 PHP 性能可以从 PHP 本身、Web 服务器、系统层面、代码与架构 四个方面入手。下面给你一套比较实用、可落地的优化方案(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


一、选择合适的 PHP 版本

优先使用 PHP 8.x(8.1 / 8.2 / 8.3)

  • PHP 8 比 PHP 7.x 快 10–30%
  • 支持 JIT(Just In Time)编译
sudo apt update
sudo apt install php8.2 php8.2-fpm

查看版本:

php -v

二、使用 PHP-FPM(强烈推荐)

不要使用 mod_php,而是:

PHP-FPM + Nginx / Apache Event MPM

安装 PHP-FPM

sudo apt install php8.2-fpm

Nginx 示例配置

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

三、优化 php-fpm 配置(关键)

编辑:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

1️⃣ 进程管理方式(performance 关键)

推荐:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

如果是 高并发 API / 电商站

pm = static
pm.max_children = CPU核心数 × 2~4

查看内存,避免 OOM:

free -m

2️⃣ 调整 PHP 执行时间

max_execution_time = 30
memory_limit = 256M

四、开启 OPcache(必开)

OPcache 能提升 30%~100% 的 PHP 性能。

安装

sudo apt install php8.2-opcache

优化配置

编辑:

/etc/php/8.2/fpm/conf.d/10-opcache.ini

推荐配置:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=50000
opcache.validate_timestamps=0
opcache.revalidate_freq=0

⚠️ 开发环境不要关闭 validate_timestamps


五、启用 JIT(PHP 8+)

JIT 对 计算密集型 程序效果明显。

编辑 php.ini

opcache.jit=1255
opcache.jit_buffer_size=128M

检查是否生效:

php -i | grep opcache.jit

六、Web 服务器优化

Nginx 优化(推荐)

worker_processes auto;
worker_connections 1024;

keepalive_timeout 65;
gzip on;

Apache(不推荐高并发)

如果你用 Apache:

sudo a2enmod mpm_event
sudo a2dismod mpm_prefork

七、减少 PHP 扩展加载

只保留必要扩展:

php -m

禁用无用扩展(如 xdebug 在生产环境必须关闭):

sudo phpdismod xdebug

八、系统层面优化

1️⃣ 文件描述符限制

ulimit -n

修改:

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

2️⃣ 使用 SSD + tmpfs

PHP session 可放内存:

session.save_handler = files
session.save_path = /tmp/php_sessions

或:

mount -t tmpfs tmpfs /tmp/php_sessions

九、MySQL / Redis 配合优化

✅ 使用 Redis 缓存

sudo apt install redis-server php8.2-redis

✅ 避免 PHP 直接跑复杂 SQL


十、压力测试 & 监控

测试性能

ab -n 1000 -c 50 http://your-site.com/

监控

  • htop
  • php-fpm status
  • nginx status

✅ 推荐“性能最优组合”

项目 推荐
OS Ubuntu 22.04 / 24.04
PHP 8.2 / 8.3
模式 PHP-FPM
Web Nginx
缓存 OPcache + Redis
架构 动静分离

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

  • ✅ 用的是 Nginx 还是 Apache
  • ✅ 单服务器还是云服务器
  • ✅ 是 Laravel / WordPress / 自研框架

我可以按你的实际环境给你一套 精准优化方案

0