日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

nginx支持php解析,upstream模块

發布時間:2025/3/17 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx支持php解析,upstream模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回調函數?

前面剖析了memcached模塊的骨架,現在開始逐個解決每個回調函數。

1. ngx_http_memcached_create_request:很簡單的按照設置的內容生成一個key,接著生成一個“get $key”的請求,放在r->upstream->request_bufs里面。

2. ngx_http_memcached_reinit_request:無需初始化。

3. ngx_http_memcached_abort_request:無需額外操作。

4. ngx_http_memcached_finalize_request:無需額外操作。

5. ngx_http_memcached_process_header:模塊的業務重點函數。memcache協議的頭部信息被定義為第一行文本,可以找到這段代碼證明:

for (p = u->buffer.pos; p < u->buffer.last; p++) {

if ( * p == LF) {

goto found;

}

如果在已讀入緩沖的數據中沒有發現LF(‘n’)字符,函數返回NGX_AGAIN,表示頭部未完全讀入,需要繼續讀取數據。nginx在收到新的數據以后會再次調用該函數。

nginx處理后端服務器的響應頭時只會使用一塊緩存,所有數據都在這塊緩存中,所以解析頭部信息時不需要考慮頭部信息跨越多塊緩存的情況。而如果頭部過大,不能保存在這塊緩存中,nginx會返回錯誤信息給客戶端,并記錄error log,提示緩存不夠大。

process_header的重要職責是將后端服務器返回的狀態翻譯成返回給客戶端的狀態。例如,在ngx_http_memcached_process_header中,有這樣幾段代碼:

r->headers_out.content_length_n = ngx_atoof(len, p - len - 1);

u->headers_in.status_n = 200;

u->state->status = 200;

u->headers_in.status_n = 404;

u->state->status = 404;

u->state用于計算upstream相關的變量。比如u->state->status將被用于計算變量“upstream_status”的值。u->headers_in將被作為返回給客戶端的響應返回狀態碼。而第一行則是設置返回給客戶端的響應的長度。

在這個函數中不能忘記的一件事情是處理完頭部信息以后需要將讀指針pos后移,否則這段數據也將被復制到返回給客戶端的響應的正文中,進而導致正文內容不正確。

u->buffer.pos = p + 1;

process_header函數完成響應頭的正確處理,應該返回NGX_OK。如果返回NGX_AGAIN,表示未讀取完整數據,需要從后端服務器繼續讀取數據。返回NGX_DECLINED無意義,其他任何返回值都被認為是出錯狀態,nginx將結束upstream請求并返回錯誤信息。

6. ngx_http_memcached_filter_init:修正從后端服務器收到的內容長度。因為在處理header時沒有加上這部分長度。

7. ngx_http_memcached_filter:memcached模塊是少有的帶有處理正文的回調函數的模塊。因為memcached模塊需要過濾正文末尾CRLF “END” CRLF,所以實現了自己的filter回調函數。處理正文的實際意義是將從后端服務器收到的正文有效內容封裝成ngx_chain_t,并加在u->out_bufs末尾。nginx并不進行數據拷貝,而是建立ngx_buf_t數據結構指向這些數據內存區,然后由ngx_chain_t組織這些buf。這種實現避免了內存大量搬遷,也是nginx高效的奧秘之一。

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的nginx支持php解析,upstream模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩乱码一区二区三区 | 两性av | 免费毛片视频网站 | 小珊的性放荡羞辱日记 | 九九天堂网 | 欧美极品在线观看 | 久久精品人妻一区二区三区 | 一区二区三区中文视频 | 国产极品美女在线 | 2级黄色片 | 国产电影免费观看高清完整版视频 | 99热在线国产 | 女人一区二区 | av成人毛片 | 欧美 日韩 视频 | 91蜜桃视频 | 高级家教课程在线观看 | 波多在线视频 | 亚州精品国产精品乱码不99按摩 | 日鲁鲁| 在线观看日本一区二区 | 国产精品18p | 欧美日韩一区二区三区电影 | 欧美亚洲精品天堂 | 国产精品国产精品 | 国产精品无码久久久久久电影 | 8x8x最新网址 | 成人黄色在线视频 | 农村偷人一级超爽毛片 | 成人综合社区 | 中文字幕一二三四区 | 91亚洲精品国偷拍自产在线观看 | 欧美日韩高清在线播放 | 久久国产一区二区三区 | 一级特黄欧美 | 欧美精品韩国精品 | 91涩涩涩| 91干干干| 色偷偷亚洲 | 日韩少妇诱惑 | 欧美性tv| 成人黄色在线看 | 麻豆中文字幕 | 国产性生活视频 | 国产喷潮 | 永久黄色网址 | 亚洲一二三四视频 | 四色成人网 | 少妇高潮惨叫久久久久 | 暖暖av在线 | 在线观看av国产一区二区 | 欧美成人黄色片 | 欧美黑人性xxx | 日本欧美国产一区二区三区 | sm一区二区三区 | 中文在线国产 | 精品久久久久久久无码 | 亚洲视频123 | 久久国产柳州莫菁门 | 一区二区视频在线免费观看 | 插插操操| 成人在线视频一区二区 | 成人免费大片黄在线播放 | 99re这里只有精品首页 | 日日射天天干 | 夜夜爽天天爽 | 亚洲AV成人无码电影在线观看 | 夜夜欢天天干 | 91pao| 日韩精品一区二区三 | 性高潮视频在线观看 | 韩国黄色av| 一区二区在线观看免费 | 日韩中出| 男生裸体视频 | 高潮无码精品色欲av午夜福利 | 理论片第一页 | 精品国产999 | 久久久久久久久综合 | 两个女人互添下身爱爱 | 欧美中文字幕视频 | 国外成人在线视频 | 少妇高潮久久久 | 九九热av| 香蕉综合视频 | 黄色网址大全免费 | www久久精品 | 一级少妇女片 | 成人免费视频网站在线观看 | 国产又粗又猛又黄又爽视频 | 九九av在线 | av三级网站 | 国产suv一区二区 | 欧美一区二区国产 | 夜色视频网站 | 国产在线网址 | 奇米影视av | 久久婷婷国产麻豆91天堂 | 杨贵妃颤抖双乳呻吟求欢小说 |