debian

Debian LNMP中PHP配置怎么优化

小樊
39
2025-08-24 00:28:42
栏目: 编程语言

以下是Debian LNMP中PHP配置的优化建议:

  1. 启用OPcache加速
    安装php-opcache扩展,在php.ini中设置:

    zend_extension=opcache.so
    opcache.enable=1
    opcache.memory_consumption=128  # 根据服务器内存调整
    opcache.max_accelerated_files=10000
    opcache.revalidate_freq=2     # 生产环境建议设为0(禁用缓存验证)
    
  2. 调整PHP-FPM进程参数
    编辑/etc/php/版本/fpm/pool.d/www.conf

    pm=dynamic                # 动态进程模式
    pm.max_children=50          # 最大子进程数(根据内存调整,建议50-100)
    pm.start_servers=10         # 启动时的子进程数
    pm.min_spare_servers=5      # 最小空闲进程数
    pm.max_spare_servers=20     # 最大空闲进程数
    pm.max_requests=1000        # 防止内存泄漏,定期重启子进程
    
  3. 优化内存与执行时间
    php.ini中设置:

    memory_limit=256M           # 根据应用需求调整(避免内存溢出)
    max_execution_time=30       # 脚本最大执行时间(秒)
    
  4. 调整文件上传限制

    upload_max_filesize=10M     # 允许上传的最大文件大小
    post_max_size=10M           # POST请求最大数据量
    
  5. 禁用非必要扩展
    php.ini中注释掉不使用的模块(如gdcurl等),减少资源占用:

    ;extension=gd
    ;extension=curl
    
  6. 启用错误日志与安全配置

    error_reporting=E_ALL
    display_errors=Off          # 生产环境关闭错误显示
    log_errors=On
    error_log=/var/log/php_errors.log
    expose_php=Off              # 隐藏PHP版本信息
    
  7. 调整Nginx与PHP-FPM通信
    确保Nginx配置中fastcgi_pass指向正确的PHP-FPM socket,并设置合理的超时:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php版本-fpm.sock;
        fastcgi_read_timeout=300;  # 根据请求复杂度调整
    }
    

注意:修改配置后需重启服务生效:

sudo systemctl restart php版本-fpm nginx

建议根据服务器负载和业务需求调整参数,并通过监控工具(如htopnginx日志)验证优化效果。

0
看了该问题的人还看了