1. 程式人生 > >php-fpm配置引數與優化簡要描述

php-fpm配置引數與優化簡要描述

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 
 
  1. emergency_restart_threshold = 60 
  2. emergency_restart_interval = 60s 

 這兩個,表示在emergency_restart_interval所設值內出現SIGSEGV或者SIGBUS錯誤的php-cgi程序數如果超      過 emergency_restart_threshold個,php-fpm就會優雅重啟.這兩個選項一般保持預設值.