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繞過緩存緩存