Php-fpm是php的一个进程管理器,当前已经结合到php中,在编译时加上--enable-fpm便可。
配置文件在:/usr/local/etc/php-fpm.conf
FPM有两种子进程启动模式:静态模式、动态模式
pm = static静态模式下子进程数量固定,由pm.max_children设置
pm = dynamic动态模式由四个参数决定,pm.max_children:fpm最大进程数;pm.start_servers:fpm启动时启动的进程数;pm.min_spare_servers:fpm空闲时最小保持的进程数;pm.max_spare_servers:fpm空闲时最大保持的进程数
pm.max_requests:在每一个子进程重启以前可接受的最大请求数量php
fastcgi_cache缓存经过fastcgi运行PHP生成的内容。缓存不只能够减小PHP执行消耗的资源还能够减小数据库的负载。nginx
首先咱们定义一个缓存空间,在nginx.conf http{}配置下
fastcgi_cache_path /fastcgi-cache/v1 levels=2:2:2 use_temp_path=off keys_zone=cache_zone:2000m inac
tive=1d max_size=200g;
fastcgi_cache_path 缓存内容存放目录
levels=2:2:2 缓存文件存放的目录级别,2表明以2个字符进行目录分级
use_temp_path=off关闭存放缓存文件以前的temp
keys_zone=cache_zone:2000m 定义cache的名称,2000m用来存放cache_key
inactive=1d 若是缓存文件一天没有被名字,则自动删除
max_size=200g 缓存文件目录的最大容量数据库
在fastcgi.conf定义缓存的选项,
fastcgi_cache cache_zone; 使用cache_zone缓存
fastcgi_cache_key $request_method://$host$request_uri; 缓存KEY的构成
fastcgi_cache_valid 200 1d; 200响应页面缓存一天
fastcgi_cache_min_uses 2; 页面命中两次后被缓存
fastcgi_cache_use_stale error timeout invalid_header; 定义在error timeout invalid_heade的状况下用过时缓存
fastcgi_ignore_headers Set-Cookie; HTTP响应头部有Set-Cookie的不被缓存
fastcgi_cache_bypass $http_pragma; HTTP响应有pragma参数的bypass绕过缓存缓存