centos

centos php如何优化

小樊
57
2025-08-14 14:11:55
栏目: 编程语言

一、系统环境优化

  1. 升级PHP版本
    使用Remi仓库安装最新稳定版PHP(如PHP 7.4+),性能更高且支持新特性:

    sudo yum install epel-release yum-utils
    sudo yum-config-manager --add-repo https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    sudo yum install php php-fpm php-opcache  # 安装PHP及核心扩展
    
  2. 启用OPcache
    /etc/php.ini中添加以下配置,缓存字节码以减少重复编译:

    [opcache]
    zend_extension=opcache.so
    opcache.enable=1
    opcache.memory_consumption=128  # 根据服务器内存调整
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60      # 生产环境建议设置为0或较高值
    

二、PHP-FPM配置优化

  1. 调整进程管理参数
    编辑/etc/php-fpm.d/www.conf,根据服务器资源设置进程数:

    pm = dynamic
    pm.max_children = 50                # 最大子进程数(建议为CPU核心数×2)
    pm.start_servers = 10               # 启动时的进程数
    pm.min_spare_servers = 5            # 最小空闲进程数
    pm.max_spare_servers = 20           # 最大空闲进程数
    pm.max_requests = 500               # 单个进程处理请求数,避免内存泄漏
    
  2. 优化请求处理

    • 设置request_terminate_timeout=300,防止长时间运行的脚本占用资源。
    • 启用慢日志记录slowlog=/var/log/php-fpm/slow.log,分析低效请求。

三、代码与缓存优化

  1. 减少数据库负载

    • 使用索引优化SQL查询,避免全表扫描。
    • 引入Redis或Memcached缓存热点数据,减少数据库访问频率。
  2. 代码层面优化

    • 避免全局变量,使用局部变量和高效的数据结构。
    • 合并CSS/JS文件,启用Gzip压缩(Nginx/Apache配置)。
  3. 静态资源处理

    • 使用CDN加速静态文件(如图片、JS、CSS)。
    • 配置Nginx直接处理静态请求,减轻PHP-FPM压力。

四、系统级调优

  1. 内核参数优化
    编辑/etc/sysctl.conf,添加以下参数提升网络和内存性能:

    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_fin_timeout = 30
    vm.swappiness = 10
    
  2. 监控与维护

    • 使用tophtopZabbix监控服务器资源使用情况。
    • 定期清理缓存文件,重启PHP-FPM释放内存。

五、扩展与工具

注意:优化前需备份配置文件,测试环境验证后再应用到生产环境,避免影响服务稳定性。

0
看了该问题的人还看了