温馨提示×

如何优化Ubuntu PHP配置

小樊
34
2026-07-01 02:03:51
栏目: 编程语言

优化 Ubuntu 上的 PHP 配置,核心目标是提升性能、增强稳定性、保障安全。下面按“步骤 + 常用配置项 + 场景建议”来讲解,适用于 Ubuntu 20.04/22.04/24.04(PHP 7.4 / 8.x 均适用)。


一、确认 PHP 版本与运行模式

1. 查看 PHP 版本

php -v

2. 查看运行模式

php -i | grep "Server API"

常见模式:

  • FPM(推荐)fpm-fcgi
  • Apache 模块:apache2handler

✅ Web 服务器建议使用 PHP-FPM + Nginx / Apache


二、PHP-FPM 基础优化(最重要)

1. 找到 PHP-FPM 配置路径

ls /etc/php/*/fpm/pool.d/

通常是:

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

2. 优化进程管理(核心)

编辑 www.conf

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

配置说明

参数 建议
pm dynamic(均衡)或 ondemand(低内存)
pm.max_children 根据内存计算
pm.max_requests 防止内存泄漏

估算公式

max_children ≈ 总内存 / 单个 PHP 进程内存

例如:

  • 内存 2GB
  • PHP 进程 ~40MB
  • max_children ≈ 40

三、php.ini 性能优化

1. 找到 php.ini

php --ini

常见路径:

/etc/php/8.2/fpm/php.ini

2. 核心性能参数(强烈推荐)

; 脚本最大执行时间(秒)
max_execution_time = 60

; 内存限制
memory_limit = 256M

; POST 数据大小
post_max_size = 64M

; 上传文件大小
upload_max_filesize = 64M

; 时区
date.timezone = Asia/Shanghai

3. OPCache(必须开启)

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
opcache.fast_shutdown=1

开启后性能可提升 2~5 倍


四、其他关键优化

1. 禁用危险函数(安全)

disable_functions = exec,passthru,shell_exec,system,proc_open,popen

2. 禁用不需要的扩展

减少加载项,提高启动速度:

php -m

移除不用的扩展:

apt remove php8.2-xxx

五、Web 服务器配合优化

Nginx 示例

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_read_timeout 120;

Apache(mpm_event + php-fpm)

a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm

六、日志与调优建议

查看 PHP-FPM 状态

systemctl status php8.2-fpm

日志路径

/var/log/php8.2-fpm.log

定期重启(可选)

systemctl restart php8.2-fpm

七、不同场景推荐配置

场景 建议
小型博客 pm = ondemand
高并发 API pm = dynamic
大内存服务器 增大 opcache.memory
低内存 VPS 降低 pm.max_children

八、快速检查清单 ✅

  • [ ] 使用 PHP-FPM
  • [ ] 开启 OPCache
  • [ ] 调整 pm.*
  • [ ] 设置合理 memory_limit
  • [ ] 设置正确时区
  • [ ] 检查日志是否报错

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

  • ✅ Ubuntu 版本
  • ✅ PHP 版本
  • ✅ 使用 Nginx 还是 Apache
  • ✅ 服务器内存和用途

我可以直接给你一份可复制使用的优化配置

0