五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

Nginx中FastCGI如何配置優(yōu)化

發(fā)布日期:2022-03-31 08:39 | 文章來源:CSDN

FastCGI:

FastCGI是從CGI發(fā)展改進(jìn)而來的。傳統(tǒng)CGI接口方式的主要缺點(diǎn)是性能很差,因?yàn)槊看蜨TTP服務(wù)器遇到動態(tài)程序時(shí)都需要重新啟動腳本解析器來執(zhí)行解析,然后結(jié)果被返回給HTTP服務(wù)器。這在處理高并發(fā)訪問時(shí),幾乎是不可用的。另外傳統(tǒng)的CGI接口方式安全性也很差,現(xiàn)在已經(jīng)很少被使用了。

FastCGI接口方式采用C/S結(jié)構(gòu),可以將HTTP服務(wù)器和腳本解析服務(wù)器分開,同時(shí)在腳本解析服務(wù)器上啟動一個(gè)或者多個(gè)腳本解析守護(hù)進(jìn)程。當(dāng)HTTP服務(wù)器每次遇到動態(tài)程序時(shí),可以將其直接交付給FastCGI進(jìn)程來執(zhí)行,然后將得到的結(jié)果返回給瀏覽器。這種方式可以讓HTTP服務(wù)器專一地處理靜態(tài)請求或者將動態(tài)腳本服務(wù)器的結(jié)果返回給客戶端,這在很大程度上提高了整個(gè)應(yīng)用系統(tǒng)的性能。

Nginx不支持對外部程序的直接調(diào)用或者解析,所有的外部程序(包括PHP)必須通過FastCGI接口來調(diào)用。FastCGI接口在Linux下是socket,(這個(gè)socket可以是文件socket,也可以是ip socket)。為了調(diào)用CGI程序,還需要一個(gè)FastCGI的wrapper(wrapper可以理解為用于啟動另一個(gè)程序的程序),這個(gè)wrapper綁定在某個(gè)固定socket上,如端口或者文件socket。當(dāng)Nginx將CGI請求發(fā)送給這個(gè)socket的時(shí)候,通過FastCGI接口,wrapper接納到請求,然后派生出一個(gè)新的線程,這個(gè)線程調(diào)用解釋器或者外部程序處理腳本并讀取返回?cái)?shù)據(jù);接著,wrapper再將返回的數(shù)據(jù)通過FastCGI接口,沿著固定的socket傳遞給Nginx;最后,Nginx將返回的數(shù)據(jù)發(fā)送給客戶端,這就是Nginx+FastCGI的整個(gè)運(yùn)作過程。詳細(xì)的過程,如圖所示。

例子:

Nginx中FastCGI參數(shù)的優(yōu)化配置實(shí)例

在配置完成Nginx+FastCGI之后,為了保證Nginx下PHP環(huán)境的高速穩(wěn)定運(yùn)行,需要添加一些FastCGI優(yōu)化指令。下面給出一個(gè)優(yōu)化實(shí)例,將下面代碼添加到Nginx主配置文件中的HTTP層級。

fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m; 
fastcgi_connect_timeout 300; 
fastcgi_send_timeout 300; 
fastcgi_read_timeout 300; 
fastcgi_buffer_size 64k; 
fastcgi_buffers 4 64k; 
fastcgi_busy_buffers_size 128k; 
fastcgi_temp_file_write_size 128k; 
fastcgi_cache TEST; 
fastcgi_cache_valid 200 302 1h; 
fastcgi_cache_valid 301 1d; 
fastcgi_cache_valid any 1m;

上述代碼的含義:

  • 第一行代碼是為FastCGI緩存指定一個(gè)文件路徑、目錄結(jié)構(gòu)等級、關(guān)鍵字區(qū)域存儲時(shí)間和非活動刪除時(shí)間。
  • fastcgi_connect_timeout指定連接到后端FastCGI的超時(shí)時(shí)間。
  • fastcgi_send_timeout指定向FastCGI傳送請求的超時(shí)時(shí)間,這個(gè)值是已經(jīng)完成兩次握手后向FastCGI傳送請求的超時(shí)時(shí)間。
  • fastcgi_read_timeout指定接收FastCGI應(yīng)答的超時(shí)時(shí)間,這個(gè)值是已經(jīng)完成兩次握手后接收FastCGI應(yīng)答的超時(shí)時(shí)間。
  • fastcgi_buffer_size用于指定讀取FastCGI應(yīng)答第一部分需要用多大的緩沖區(qū),這個(gè)值表示將使用1個(gè)64KB的緩沖區(qū)讀取應(yīng)答的第一部分(應(yīng)答頭),可以設(shè)置為fastcgi_buffers選項(xiàng)指定的緩沖區(qū)大小。
  • fastcgi_buffers指定本地需要用多少和多大的緩沖區(qū)來緩沖FastCGI的應(yīng)答請求。如果一個(gè)PHP腳本所產(chǎn)生的頁面大小為256KB,那么會為其分配4個(gè)64KB的緩沖區(qū)來緩存;如果頁面大小大于256KB,那么大于256KB的部分會緩存到fastcgi_temp指定的路徑中,但是這并不是好方法,因?yàn)閮?nèi)存中的數(shù)據(jù)處理速度要快于硬盤。一般這個(gè)值應(yīng)該為站點(diǎn)中PHP腳本所產(chǎn)生的頁面大小的中間值,如果站點(diǎn)大部分腳本所產(chǎn)生的頁面大小為256KB,那么可以把這個(gè)值設(shè)置為“16 16k”、“4 64k”等。
  • fastcgi_busy_buffers_size的默認(rèn)值是fastcgi_buffers的兩倍。
  • fastcgi_temp_file_write_size表示在寫入緩存文件時(shí)使用多大的數(shù)據(jù)塊,默認(rèn)值是fastcgi_buffers的兩倍。
  • fastcgi_cache表示開啟FastCGI緩存并為其指定一個(gè)名稱。開啟緩存非常有用,可以有效降低CPU的負(fù)載,并且防止502錯(cuò)誤的發(fā)生,但是開啟緩存也會引起很多問題,要視具體情況而定。
  • fastcgi_cache_valid、fastcgi用來指定應(yīng)答代碼的緩存時(shí)間,實(shí)例中的值表示將200和302應(yīng)答緩存一個(gè)小時(shí),將301應(yīng)答緩存1天,其他應(yīng)答均緩存1分鐘。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部