温馨提示×

ubuntu php怎么优化性能

小樊
47
2026-09-10 08:53:18
栏目: 编程语言

在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、PHP-FPM、OPcache、代码层面、Web 服务器、系统资源 几个方向入手。下面给你一套比较实用、可落地的优化方案(以 Ubuntu + PHP-FPM + Nginx/Apache 为例)。


一、使用最新稳定版 PHP

老版本性能差、安全性低。

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(最重要)

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(关键)

PHP-FPM 配置直接影响并发能力。

路径

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

进程模式(推荐 dynamic 或 static)

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 扩展

减少内存和加载时间。

查看已加载扩展:

php -m

禁用不用的(如):

sudo phpdismod json gd exif

五、Web 服务器优化(Nginx 示例)

Nginx + PHP-FPM

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
}

开启:

  • gzip
  • keepalive
  • 静态资源缓存

六、使用 Redis / Memcached 缓存

减少数据库压力。

sudo apt install redis-server
sudo apt install php8.2-redis

在代码中缓存:

  • 数据库查询结果
  • session
  • 页面片段

七、代码层面优化(根本)

即使环境再好,烂代码也救不了。

✅ 建议:

  • 避免重复查询数据库
  • 使用 PDO / 预处理
  • 减少 file_get_contents
  • 使用 Composer autoload 优化:
composer install --optimize-autoloader --no-dev

八、系统层面

调整 Linux 限制

ulimit -n 65535

/etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535

开启 OPcache 预热(可选)

适合大型系统。


九、性能检测工具

  • top / htop
  • php-fpm status
  • blackfire
  • xdebug(开发用,不要上生产)

十、最简优化清单(直接抄)

✅ PHP 8.2
✅ OPcache 开启
✅ PHP-FPM dynamic
✅ Redis 缓存
✅ 禁用无用扩展
✅ Nginx gzip + 缓存


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

  • Ubuntu 版本
  • PHP 版本
  • Web 服务器(Nginx / Apache)
  • 网站类型(WordPress / Laravel / 自研)

我可以给你 针对性配置

0