优化 PHP 性能与安全
在 Nginx 与 PHP-FPM 集成中,合理优化 PHP 性能并加强安全性是保证 Web 服务高效稳定运行的关键。
一、性能优化
1. 启用 Opcode 缓存
PHP 提供 Opcache,可缓存编译后的 PHP 字节码,减少解析开销:
; php.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
`
2. 调整 PHP-FPM 池配置
- pm = dynamic,合理设置
max_children、start_servers、min_spare_servers和max_spare_servers - 根据服务器内存与并发量优化进程数量
3. 静态资源由 Nginx 直接处理
- 图片、CSS、JS 等静态文件不经过 PHP-FPM
- 使用
location ~* \.(jpg|png|css|js)$设置缓存与压缩
4. 开启 gzip 压缩
http {
gzip on;
gzip_types text/plain text/css application/javascript application/json;
}
减少网络传输流量,提高加载速度。
二、安全优化
1. 限制文件访问
location ~ /\.ht {
deny all;
}
禁止访问敏感文件,如 .htaccess。
2. PHP-FPM 用户权限
- 设置 pool 用户与 Nginx 进程用户一致
- 避免使用 root 运行 PHP-FPM
3. FastCGI 安全设置
- 设置
open_basedir限制 PHP 访问路径 - 禁止 PHP 执行非必要命令
php_admin_value[open_basedir] = /var/www/html:/tmp/
php_admin_flag[allow_url_fopen] = off
4. 限制请求大小与超时
client_max_body_size 10M;
fastcgi_read_timeout 300;
防止大文件上传或慢速请求造成服务阻塞。
通过以上优化措施,可以显著提升 Nginx 与 PHP-FPM 动态请求性能,同时降低潜在安全风险,保障网站稳定运行。
相关内容
- 备份与恢复 本节介绍 Nginx 配置备份与恢复方法,包括配置文件备份、日志备份、快速恢复和灾难恢复策略,保障服务安全可靠。
- 常用命令与服务管理 本节介绍常用的 nginx 命令与服务管理方法,包括启动、停止、重载、日志查看、配置检测等操作,帮助你熟练掌握 nginx 文档中的服务运维要点。
- Nginx 教程:目录结构与配置文件详解 本节 Nginx 教程详细介绍 nginx 目录结构与配置文件组成,帮助你掌握 nginx.conf、sites-enabled、logs 等常见路径及配置含义...
- Nginx 与 Docker 集成 本节介绍 Nginx 与 Docker 的集成方法,包括 Nginx 容器部署、配置卷挂载、端口映射和与后端服务协作,实现容器化高可用 Web 服务。
- FastCGI 工作原理 本节讲解 Nginx 与 FastCGI 的工作原理,包括请求转发、PHP-FPM 处理流程及数据交互方式,帮助你理解 nginx.conf 中动态内容处理机制...
- FastCGI 参数详解 本节详细讲解 Nginx 与 FastCGI 配合时的参数配置,包括 fastcgi_param 指令、标准参数与自定义参数,帮助你精确控制 PHP-FPM 请...