在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、PHP-FPM、OPcache、代码层面、Web 服务器、系统资源 几个方向入手。下面给你一套比较实用、可落地的优化方案(以 Ubuntu + PHP-FPM + Nginx/Apache 为例)。
老版本性能差、安全性低。
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-common
查看版本:
php -v
✅ 建议:PHP 8.1 / 8.2 / 8.3(比 7.x 快很多)
OPcache 能缓存编译后的 PHP 脚本,性能提升明显。
sudo apt install php8.2-opcache
编辑:
sudo nano /etc/php/8.2/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 ; 生产环境建议关闭
重启:
sudo systemctl restart php8.2-fpm
PHP-FPM 配置直接影响并发能力。
/etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
如果是 高并发服务器:
pm = static
pm.max_children = 100
⚠️ max_children 不要超过内存承受能力
(每个 PHP 进程约 30–80MB)
减少内存和加载时间。
查看已加载扩展:
php -m
禁用不用的(如):
sudo phpdismod json gd exif
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
}
开启:
减少数据库压力。
sudo apt install redis-server
sudo apt install php8.2-redis
在代码中缓存:
即使环境再好,烂代码也救不了。
✅ 建议:
file_get_contentscomposer install --optimize-autoloader --no-dev
ulimit -n 65535
/etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
适合大型系统。
top / htopphp-fpm statusblackfirexdebug(开发用,不要上生产)✅ PHP 8.2
✅ OPcache 开启
✅ PHP-FPM dynamic
✅ Redis 缓存
✅ 禁用无用扩展
✅ Nginx gzip + 缓存
如果你愿意,可以告诉我:
我可以给你 针对性配置。