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