Nginx配置中FastCGI的幾個命令
Nginx配置一直以來都在程序員的工作中不斷的使用,在這個中有很多的問題需要我們不斷的學習,其中FastCGI就是有不少的問題需要我們解決,下面就是關于FastCGI在Nginx配置的幾個指令:
- fastcgi_cache_path /usr/local/Nginx/fastcgi_cache
levels=1:2 keys_zone=TEST:10m inactive=5m;
這個指令為Nginx配置FastCGI緩存指定一個路徑,目錄結構等級,關鍵字區域存儲時間和非活動刪除時間。
- fastcgi_connect_timeout 300;
指定連接到后端FastCGI的超時時間。
- fastcgi_send_timeout 300;
向FastCGI傳送請求的超時時間,這個值是指已經完成兩次握手后向FastCGI傳送請求的超時時間。
- fastcgi_read_timeout 300;
接收FastCGI應答的超時時間,這個值是指已經完成兩次握手后接收FastCGI應答的超時時間。
- fastcgi_buffer_size 4k;
指定讀取FastCGI應答***部分需要用多大的緩沖區,一般***部分應答不會超過1k,由于頁面大小為4k,所以這里設置為4k。
- fastcgi_buffers 8 4k;
指定本地需要用多少和多大的緩沖區來緩沖FastCGI的應答。
- fastcgi_busy_buffers_size 8k;
這個指令我也不知道是做什么用,只知道默認值是fastcgi_buffers的兩倍。
- fastcgi_temp_file_write_size 8k;
在寫入fastcgi_temp_path時將用多大的數據塊,默認值是fastcgi_buffers的兩倍。
- fastcgi_cache TEST
開啟FastCGI緩存并且為其制定一個名稱。個人感覺開啟緩存非常有用,可以有效降低CPU負載,并且防止502錯誤。
- fastcgi_cache_valid 200 302 1h;
- fastcgi_cache_valid 301 1d;
- fastcgi_cache_valid any 1m;
為指定的應答代碼指定緩存時間,如上例中將200,302應答緩存一小時,301應答緩存1天,其他為1分鐘。
- fastcgi_cache_min_uses 1;
緩存在fastcgi_cache_path指令inactive參數值時間內的最少使用次數,如上例,如果在5分鐘內某文件1次也沒有被使用,那么這個文件將被移除。
- fastcgi_cache_use_stale error timeout invalid_
header http_500;
不知道這個參數的作用,猜想應該是讓Nginx知道哪些類型的緩存是沒用的。
以上為Nginx配置中FastCGI相關參數,另外,FastCGI自身也有一些配置需要進行優化,如果你使用php-fpm來管理FastCGI,可以修改配置文件中的以下值:
- <value name="max_children">60</value>
同時處理的并發請求數,即它將開啟最多60個子線程來處理并發連接。
- <value name="rlimit_files">102400</value>
最多打開文件數。
- <value name="max_requests">204800</value>
每個進程在重置之前能夠執行的最多請求數。以上就是對Nginx配置中FastCGI相關參數的詳細介紹。
【編輯推薦】