温馨提示×

centos php配置慢怎提速

小樊
36
2026-09-11 17:27:04
栏目: 编程语言

在 CentOS 上如果 PHP 运行/响应慢,可以从 PHP 本身、Web 服务器、系统、代码 四个层面来优化。下面按「最常见 → 高级」给你一套实用提速方案。


一、先确认慢在哪里(很重要)

top
htop
php-fpm status

重点看:

  • CPU 是否 100%
  • 内存是否不足(开始 swap)
  • 是否是 php-fpm 进程阻塞

二、PHP 层面优化(效果最明显)

1️⃣ 使用 PHP-FPM(不要用 mod_php)

CentOS + Nginx/Apache 推荐:

yum install php-fpm

2️⃣ 开启 OPcache(强烈建议)

yum install php-opcache

php.ini 中:

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

✅ 一般能提速 30%~200%


3️⃣ 调整 php-fpm 配置

路径示例:

/etc/php-fpm.d/www.conf

关键参数:

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

查看内存后调整:

ps -ylC php-fpm --sort:rss

三、Web 服务器优化

Nginx 示例(常用)

fastcgi_cache_path /tmp/nginx_cache levels=1:2 keys_zone=phpcache:100m inactive=60m;
fastcgi_cache phpcache;
fastcgi_cache_valid 200 60m;

Apache:

  • 使用 event MPM
  • 开启 mod_cache

四、数据库相关(PHP 慢常见原因)

1️⃣ 慢 SQL

SHOW PROCESSLIST;

或开启:

slow_query_log=1

2️⃣ 使用 Redis / Memcached 缓存

yum install redis

PHP:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

五、CentOS 系统层面

1️⃣ 关闭不必要的服务

systemctl disable firewalld   # 如不用
systemctl disable postfix

2️⃣ 文件描述符限制

ulimit -n 65535

/etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535

六、代码层面(根本问题)

  • 避免:
    • 循环里查数据库
    • 大量 file_get_contents
    • 每次请求都 composer autoload
  • 使用:
    • 框架缓存
    • 静态资源 CDN
    • 异步任务(队列)

七、快速见效清单 ✅

如果你只想“先快一点”:

  1. php-opcache
  2. 调整 php-fpm pm
  3. 上 Redis 缓存
  4. 查慢 SQL

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

  • CentOS 版本(7 / 8 / Stream)
  • PHP 版本
  • Web 服务(Nginx / Apache)
  • 是接口慢还是页面慢

我可以直接给你一份针对性配置文件

0