麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > Nginx > 正文

Nginx中FastCGI如何配置優化

2024-08-30 12:29:49
字體:
來源:轉載
供稿:網友

FastCGI:

FastCGI是從CGI發展改進而來的。傳統CGI接口方式的主要缺點是性能很差,因為每次HTTP服務器遇到動態程序時都需要重新啟動腳本解析器來執行解析,然后結果被返回給HTTP服務器。這在處理高并發訪問時,幾乎是不可用的。另外傳統的CGI接口方式安全性也很差,現在已經很少被使用了。

FastCGI接口方式采用C/S結構,可以將HTTP服務器和腳本解析服務器分開,同時在腳本解析服務器上啟動一個或者多個腳本解析守護進程。當HTTP服務器每次遇到動態程序時,可以將其直接交付給FastCGI進程來執行,然后將得到的結果返回給瀏覽器。這種方式可以讓HTTP服務器專一地處理靜態請求或者將動態腳本服務器的結果返回給客戶端,這在很大程度上提高了整個應用系統的性能。

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

Nginx,FastCGI,配置優化

例子:

Nginx,FastCGI,配置優化

Nginx中FastCGI參數的優化配置實例

在配置完成Nginx+FastCGI之后,為了保證Nginx下PHP環境的高速穩定運行,需要添加一些FastCGI優化指令。下面給出一個優化實例,將下面代碼添加到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緩存指定一個文件路徑、目錄結構等級、關鍵字區域存儲時間和非活動刪除時間。
  • fastcgi_connect_timeout指定連接到后端FastCGI的超時時間。
  • fastcgi_send_timeout指定向FastCGI傳送請求的超時時間,這個值是已經完成兩次握手后向FastCGI傳送請求的超時時間。
  • fastcgi_read_timeout指定接收FastCGI應答的超時時間,這個值是已經完成兩次握手后接收FastCGI應答的超時時間。
  • fastcgi_buffer_size用于指定讀取FastCGI應答第一部分需要用多大的緩沖區,這個值表示將使用1個64KB的緩沖區讀取應答的第一部分(應答頭),可以設置為fastcgi_buffers選項指定的緩沖區大小。
  • fastcgi_buffers指定本地需要用多少和多大的緩沖區來緩沖FastCGI的應答請求。如果一個PHP腳本所產生的頁面大小為256KB,那么會為其分配4個64KB的緩沖區來緩存;如果頁面大小大于256KB,那么大于256KB的部分會緩存到fastcgi_temp指定的路徑中,但是這并不是好方法,因為內存中的數據處理速度要快于硬盤。一般這個值應該為站點中PHP腳本所產生的頁面大小的中間值,如果站點大部分腳本所產生的頁面大小為256KB,那么可以把這個值設置為“16 16k”、“4 64k”等。
  • fastcgi_busy_buffers_size的默認值是fastcgi_buffers的兩倍。
  • fastcgi_temp_file_write_size表示在寫入緩存文件時使用多大的數據塊,默認值是fastcgi_buffers的兩倍。
  • fastcgi_cache表示開啟FastCGI緩存并為其指定一個名稱。開啟緩存非常有用,可以有效降低CPU的負載,并且防止502錯誤的發生,但是開啟緩存也會引起很多問題,要視具體情況而定。
  • fastcgi_cache_valid、fastcgi用來指定應答代碼的緩存時間,實例中的值表示將200和302應答緩存一個小時,將301應答緩存1天,其他應答均緩存1分鐘。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片成人 | 久久久久999 | 一级免费特黄视频 | 水卜樱一区二区av | 国产成人高潮免费观看精品 | 一级黄色在线观看 | 91麻豆精品国产91久久久无需广告 | 黄色片免费在线播放 | 日本免费a∨ | 国产一区二区免费 | 91懂色| 中文在线免费观看 | 深夜激情视频 | 国产麻豆久久 | 国产精品6区 | 欧美伦理一区二区 | 中文字幕精品在线播放 | 欧洲成人一区二区 | 国产在线久 | 成人免费在线观看视频 | 精品国产乱码久久久久久久久 | 亚洲va久久久噜噜噜久牛牛影视 | 精品久久久久久久久久久久久 | 国内精品一级毛片免费看 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 香蕉久久久精品 | 一级黄色免费观看 | 精品国产一区二区三区久久久蜜月 | 国产精品久久久久久久娇妻 | 成年人毛片视频 | 国产成人精品一区在线播放 | h视频在线观看免费 | 国产亚洲精品久久久久婷婷瑜伽 | 亚洲国产超高清a毛毛片 | 亚洲综合视频网 | 娇妻被各种姿势c到高潮小说 | www.777含羞草 | 黄视频网站免费观看 | 欧美成人高清视频 | 爱高潮www亚洲精品 欧美黄色一级片视频 | 叶子楣成人爽a毛片免费啪啪 |