php-fpm配置引數與優化簡要描述
阿新 • • 發佈:2018-12-16
1.nginx下的fpm配置
# 這個指令為FastCGI 快取指定一個路徑,目錄結構等級,關鍵字區域儲存時間和非活動刪除時間。 fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10minactive=5m; # 指定連線到後端FastCGI 的超時時間 fastcgi_connect_timeout 300; # 向FastCGI 傳送請求的超時時間,這個值是指已經完成兩次握手後向FastCGI 傳送請求的超時時間 fastcgi_send_timeout 300; # 接收FastCGI 應答的超時時間,這個值是指已經完成兩次握手後接收FastCGI 應答的超時時間 fastcgi_read_timeout 300; # 指定讀取FastCGI 應答第一部分需要用多大的緩衝區,一般第一部分應答不會超過1k,由於頁面大小為4k,所以這裡設定為4k fastcgi_buffer_size 4k; # 指定本地需要用多少和多大的緩衝區來緩衝FastCGI 的應答 fastcgi_buffers 8 4k; # 預設值是fastcgi_buffers的兩倍 fastcgi_busy_buffers_size 8k; # 在寫入fastcgi_temp_path 時將用多大的資料塊,預設值是fastcgi_buffers 的兩倍 fastcgi_temp_file_write_size 8k; # 開啟FastCGI 快取並且為其制定一個名稱。可以有效降低CPU負載,並且防止502錯誤 fastcgi_cache 名稱,如,mycache; # 為指定的應答程式碼指定快取時間,如上例中將200,302 應答快取一小時,301 應答快取1 天,其他為1 分鐘 fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m; # 快取在fastcgi_cache_path 指令inactive 引數值時間內的最少使用次數,如上例,如果在5 分鐘內某檔案1 次也沒有被使用,那麼這個檔案將被移除 fastcgi_cache_min_uses 1; # 快取超時錯誤設定與錯誤碼 fastcgi_cache_use_stale error timeout invalid_header http_500;
2.Php,php-fpm配置
1. [global] 2. 3.pid = run/php-fpm.pid 4. 5.process_control_timeout=5 6. 7.[www] 8. 9.listen.allowed_clients = 127.0.0.1 [允許ip] 10. 11.user=www [使用者] 12. 13.group=www [組] 14. 15.pm=dynamic 16. 17.pm.max_children=20(這個配置決定了php-fpm的總程序數,記憶體小的少設點) 18. 19.pm.max_requests=10000(併發數越大,此請求數應越大) 20. 21.pm.start_servers =10(初始php-fpm程序數) 22. 23.emergency_restart_threshold = 60 24. 25.emergency_restart_interval = 60s
- emergency_restart_threshold = 60
- emergency_restart_interval = 60s
這兩個,表示在emergency_restart_interval所設值內出現SIGSEGV或者SIGBUS錯誤的php-cgi程序數如果超 過 emergency_restart_threshold個,php-fpm就會優雅重啟.這兩個選項一般保持預設值.