温馨提示×

ubuntu php怎么优化

小樊
34
2026-09-25 16:02:58
栏目: 编程语言

在 Ubuntu 上优化 PHP(通常指 PHP-FPM + Nginx/Apache 环境),可以从系统、PHP 配置、OPcache、FPM 进程、代码与缓存几个方面入手。下面按实用性给你一套常见优化方案。


一、选择合适的 PHP 版本

优先使用较新稳定版(如 PHP 8.1 / 8.2 / 8.3):

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2-fpm php8.2-cli

二、启用并优化 OPcache(最重要)

1. 安装

sudo apt install php8.2-opcache

2. 配置 /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 ≈ 内存 / 单进程内存(通常 30~80MB)

查看进程内存:

ps -ylC php-fpm8.2 --sort:rss

四、关闭无用 PHP 扩展

减少内存和加载时间:

php -m

禁用不用的(如 xdebug 生产必须关):

; zend_extension=xdebug.so

五、系统层面优化

1. 文件描述符

ulimit -n 65535

/etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535

2. Swap(防 OOM)

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

六、使用缓存(极大提升性能)

  • Redis / Memcached
sudo apt install redis-server

PHP:

sudo apt install php8.2-redis
  • 框架级缓存(Laravel / Symfony 缓存、路由缓存)

七、Web 服务器配合

Nginx 示例

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=PHP:100m inactive=60m;
fastcgi_cache PHP;
fastcgi_cache_valid 200 60m;

八、监控与压测

  • htop
  • php-fpm status
  • 压测:
ab -n 1000 -c 100 http://site.com/

如果你能告诉我:

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

我可以给你更精准的优化配置。

0 踩