在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、PHP-FPM、OPcache、代码层面、Web 服务器 几个方面入手。下面按“最划算 → 进阶”的顺序说明。
PHP 7.4 / 8.1 / 8.2 / 8.3 性能远好于 5.x / 7.0
php -v
升级示例(Ubuntu 20.04/22.04):
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm
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
编辑:
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
常见模式(推荐 dynamic 或 ondemand):
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
内存小可用:
pm = ondemand
pm.max_children = 30
查看内存占用:
ps aux | grep php-fpm
Nginx 示例:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
查看已加载模块:
php -m
卸载不用模块:
sudo apt remove php8.2-xmlrpc
减少数据库查询。
sudo apt install redis-server php8.2-redis
Nginx:
gzip on;
gzip_types text/css application/javascript;
display_errors = Off
log_errors = On
blackfiretidewaysxhprof如果你愿意,可以告诉我:
我可以给你一套针对性配置。