最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年08月07日 15:10:05   作者:Defias  
這篇文章主要介紹了Nginx中FastCGI如何配置優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

FastCGI:

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

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

Nginx不支持對(duì)外部程序的直接調(diào)用或者解析,所有的外部程序(包括PHP)必須通過FastCGI接口來調(diào)用。FastCGI接口在Linux下是socket,(這個(gè)socket可以是文件socket,也可以是ip socket)。為了調(diào)用CGI程序,還需要一個(gè)FastCGI的wrapper(wrapper可以理解為用于啟動(dòng)另一個(gè)程序的程序),這個(gè)wrapper綁定在某個(gè)固定socket上,如端口或者文件socket。當(dāng)Nginx將CGI請(qǐng)求發(fā)送給這個(gè)socket的時(shí)候,通過FastCGI接口,wrapper接納到請(qǐng)求,然后派生出一個(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層級(jí)。

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)等級(jí)、關(guān)鍵字區(qū)域存儲(chǔ)時(shí)間和非活動(dòng)刪除時(shí)間。
  • fastcgi_connect_timeout指定連接到后端FastCGI的超時(shí)時(shí)間。
  • fastcgi_send_timeout指定向FastCGI傳送請(qǐng)求的超時(shí)時(shí)間,這個(gè)值是已經(jīng)完成兩次握手后向FastCGI傳送請(qǐng)求的超時(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)答請(qǐng)求。如果一個(gè)PHP腳本所產(chǎn)生的頁面大小為256KB,那么會(huì)為其分配4個(gè)64KB的緩沖區(qū)來緩存;如果頁面大小大于256KB,那么大于256KB的部分會(huì)緩存到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ā)生,但是開啟緩存也會(huì)引起很多問題,要視具體情況而定。
  • fastcgi_cache_valid、fastcgi用來指定應(yīng)答代碼的緩存時(shí)間,實(shí)例中的值表示將200和302應(yīng)答緩存一個(gè)小時(shí),將301應(yīng)答緩存1天,其他應(yīng)答均緩存1分鐘。

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

相關(guān)文章

  • 簡單談?wù)凬ginx基礎(chǔ)知識(shí)入門

    簡單談?wù)凬ginx基礎(chǔ)知識(shí)入門

    Nginx(engine x)是一個(gè)高性能的HTTP服務(wù)器(其實(shí)不止HTTP服務(wù)器),一般主要用作負(fù)載均衡和反向代理,今天我們來簡單學(xué)習(xí)下他的基礎(chǔ)配置知識(shí)
    2017-08-08
  • 詳解nginx中的日志配置

    詳解nginx中的日志配置

    日志對(duì)于統(tǒng)計(jì)排錯(cuò)來說非常有利的,本文為大家總結(jié)了nginx日志相關(guān)的配置如access_log、log_format、open_log_file_cache等內(nèi)容,感興趣的小伙伴可以了解下
    2023-08-08
  • FastDFS及Nginx整合實(shí)現(xiàn)代碼解析

    FastDFS及Nginx整合實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了FastDFS及Nginx整合實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • HAProxy和Nginx搭建負(fù)載均衡器的實(shí)現(xiàn)

    HAProxy和Nginx搭建負(fù)載均衡器的實(shí)現(xiàn)

    負(fù)載均衡器是一個(gè)常用于分布式計(jì)算和網(wǎng)絡(luò)應(yīng)用中的系統(tǒng)組件,主要用于將客戶端的請(qǐng)求分發(fā)到多個(gè)后端服務(wù)器上,以實(shí)現(xiàn)高可用性、高性能和可擴(kuò)展性,本文主要介紹了HAProxy和Nginx搭建負(fù)載均衡器的實(shí)現(xiàn),感興趣的可以了解一下,感興趣的可以了解一下
    2023-11-11
  • nginx日志模塊及日志定時(shí)切割的方法

    nginx日志模塊及日志定時(shí)切割的方法

    本篇文章主要介紹了nginx日志模塊及日志定時(shí)切割的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 關(guān)于nginx?反向代理?URL替換方案

    關(guān)于nginx?反向代理?URL替換方案

    這篇文章主要介紹了nginx?反向代理?URL替換方案,本文給大家代理兩種方法一種是直接替換location匹配部分,第二種是使用nginx?的rewrite?模塊,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    這篇文章主要介紹了Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例,需要的朋友可以參考下
    2015-04-04
  • CentOS7系統(tǒng)下用YUM安裝Nginx詳解

    CentOS7系統(tǒng)下用YUM安裝Nginx詳解

    相信大家都知道Nginx ("engine x") 是一個(gè)高性能的 HTTP和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。這篇文章將詳細(xì)給大家介紹在CentOS7系統(tǒng)下用YUM安裝Nginx的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • 隱藏Nginx版本號(hào)的最簡單的方法

    隱藏Nginx版本號(hào)的最簡單的方法

    這篇文章主要介紹了隱藏Nginx版本號(hào)的最簡單的方法,對(duì)外隱藏Nginx版本號(hào)有利于維護(hù)服務(wù)器安全,需要的朋友可以參考下
    2015-04-04
  • Nginx中配置HTTP2協(xié)議的方法

    Nginx中配置HTTP2協(xié)議的方法

    HTTP2協(xié)議是HTTP的重大升級(jí),提供多路復(fù)用、頭部壓縮和服務(wù)器推送等優(yōu)點(diǎn),正確配置HTTP2可以為用戶提供更快、更流暢的訪問體驗(yàn),提升網(wǎng)站競爭力,本文就來介紹一下Nginx中配置HTTP2協(xié)議的方法,感興趣的可以了解一下
    2024-10-10

最新評(píng)論

稷山县| 长沙市| 天气| 成安县| 乐东| 陇川县| 阿拉尔市| 昔阳县| 汨罗市| 清水县| 邳州市| 汉源县| 屏东县| 凌源市| 东丽区| 罗定市| 宁晋县| 涡阳县| 建宁县| 遂昌县| 宁武县| 镇沅| 锡林浩特市| 平昌县| 莒南县| 南投县| 文安县| 大同市| 福鼎市| 岳普湖县| 莫力| 夏邑县| 湖北省| 玉山县| 大城县| 碌曲县| 马尔康县| 新余市| 弥勒县| 遵义县| 凉山|