以下是Debian LNMP中PHP配置的优化建议:
启用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(禁用缓存验证)
调整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 # 防止内存泄漏,定期重启子进程
优化内存与执行时间
在php.ini
中设置:
memory_limit=256M # 根据应用需求调整(避免内存溢出)
max_execution_time=30 # 脚本最大执行时间(秒)
调整文件上传限制
upload_max_filesize=10M # 允许上传的最大文件大小
post_max_size=10M # POST请求最大数据量
禁用非必要扩展
在php.ini
中注释掉不使用的模块(如gd
、curl
等),减少资源占用:
;extension=gd
;extension=curl
启用错误日志与安全配置
error_reporting=E_ALL
display_errors=Off # 生产环境关闭错误显示
log_errors=On
error_log=/var/log/php_errors.log
expose_php=Off # 隐藏PHP版本信息
调整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
建议根据服务器负载和业务需求调整参数,并通过监控工具(如htop
、nginx日志
)验证优化效果。