温馨提示×

ubuntu php配置如何优化

小樊
41
2026-09-07 11:31:41
栏目: 编程语言

在 Ubuntu 上优化 PHP 配置,通常围绕 性能、稳定性、安全性和业务场景 来做。下面按「常见 PHP 运行方式 → 关键配置 → 实用优化建议」来说明。


一、先确认 PHP 运行方式

不同方式优化重点不同:

php -v
php -m

常见运行模式:

  • PHP-FPM(最常见,Nginx/Apache 推荐)
  • CLI(命令行)
  • Apache mod_php(较少用)

查看 PHP-FPM 配置路径:

php --ini

通常:

/etc/php/8.x/fpm/php.ini
/etc/php/8.x/fpm/pool.d/www.conf

二、php.ini 核心优化(性能向)

编辑:

sudo nano /etc/php/8.x/fpm/php.ini

1. 关闭不必要的功能

expose_php = Off
display_errors = Off
log_errors = On

2. 内存与执行时间

memory_limit = 256M        ; 根据业务调整(API 128M,后台 512M)
max_execution_time = 30
max_input_time = 60

3. 文件上传

upload_max_filesize = 20M
post_max_size = 24M

4. OPcache(非常重要)

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

开启后性能可提升 30%~70%


三、PHP-FPM 进程优化(重点)

编辑:

sudo nano /etc/php/8.x/fpm/pool.d/www.conf

1. 进程模式

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

计算公式(参考):

max_children ≈ 服务器内存 / 单个 PHP 进程内存

单个进程估算:

ps -ylC php-fpm --sort:rss

2. 慢日志(排查卡顿)

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

四、系统层配合优化

1. 使用 Unix Socket(比 TCP 快)

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

Nginx 中:

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

2. 文件描述符限制

ulimit -n

如过低,修改:

/etc/security/limits.conf

五、安全优化(生产必做)

disable_functions = exec,passthru,shell_exec,system
allow_url_include = Off
session.cookie_secure = On
session.cookie_httponly = On

六、常见场景建议

场景 建议
API 服务 OPcache + 少进程
后台管理 高 memory_limit
高并发 pm = static
低内存 VPS pm = dynamic,少 children

七、优化后操作

sudo systemctl restart php8.x-fpm
sudo systemctl restart nginx

验证:

php -i | grep opcache

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

  • Ubuntu 版本
  • PHP 版本
  • Nginx / Apache
  • 服务器配置(CPU / 内存)
  • 应用类型(Laravel / WordPress / 自研)

我可以直接给你一套可复制的优化配置。

0 踩