欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

mod_php對比mod_fastcgi

系統 2229 0

什么是mod_php和mod_fastcgi

在lamp體系中,對于apache端的php的配置,我們最常用的就是mod_php,它把php作為apache一個內置的模塊.讓apache http服務器本身能夠支持php語言,不需要每一個請求就啟動php解釋器來解釋php.
和把webserver與php綁定起來的方式不同,fastcgi是http服務器與你的或其它機器上的程序進行“交談”的一種工具,相當于一個程序接口。它可以接受來自web服務器的請求,解釋輸入信息,將處理后的結果返回給服務器等。mod_fastcgi就是在apache下支持fastcgi協議的模塊。


SAPI和CLI

SAPI(Server Application Programming Interface):服務器端應用程序接口
CLI(Command Line Interface):命令行接口


php運行原理



對于一個基于apache的php應用,運行流程可以簡單歸結為:
Apache -> httpd -> mod_php -> fastcgi -> sapi -> php


mod_php

在lamp體系中,mod_php是最常使用的工作方式。在這種模式下,php被編譯為apache的一個內置模塊,在啟動加載的時候,當有一個php請求過來,直接在httpd進程里完成了php的解釋運行,將結果返回。工作原理如圖所示:


mod_fastcgi


普通cgi的工作流程:

CGI英文全程是 Command Gateway Interface,通常翻譯為公共網關接口,是HTTP服務器與機器上的其他程序進行通信的一個接口。這個“其他程序”可以是使用任何計算機語言進行編寫,例如php,python,perl等等。它通過CGI這個接口從HTTP服務器取得輸入,然后把運行結果又通過CGI這個接口交給HTTP服務器,而HTTP服務器把這個結果送給瀏覽器。
CGI的出現讓WEB從靜態變為動態,隨著web的越來越普及,很多的網站都需要有動態的頁面,以便與瀏覽者進行交互。CGI的缺點也越來越突出,因為HTTP要生成一個動態頁面,系統就必須啟動一個新的進程以運行CGI程序,不斷的fork是一項很消耗時間和資源的工作。


fastcgi工作原理:

(1)web server 啟動時載入Fastcgi進程管理器。[php的fastcgi進程管理器是PHP-FPM(php-FastCGI Process Manager)]
(2)Fastcgi進程管理器自身初始化,啟動多個CGI解釋器進程并且等待來自web server的連接。啟動php-cgi Fastcgi進程時,可以配置TCP和unix套接字兩種方式。一般生產環境中采用TCP方式
(3)當客戶端請求到達web server時,web server 通過tcp協議或者unix套接字的方式將請求轉發給Fastcgi主進程,Fastcgi主進程選擇并連接一個cgi進程。

(4)Fastcgi子進程完成php程序流程處理后將標準輸出和錯誤信息一同返回給web server。當Fastcgi子進程關閉時,請求便告處理完成。Fastcgi子進程便接著等待來自Fastcgi進程管理器的下一個連接。

(5)fastcgi是基于cgi架構的擴展,他的核心思想就是在web server和具體cgi程序之間建立一個智能的可持續的中間層,統管cgi程序的運行,這樣web server只需要將請求提交給這個層,這個層再派生出幾個可復用的cgi程序實例,然后再把請求分發給這些實例,這些實例是可控的,可持續,可復用的。mod_fastcgi的主要優點是把動態語言和web server分離開來。這種技術允許把web server 和 動態語言運行在不同的主機上,以大規模擴展和改進安全性而不損失生產效率。
基于mod_fastcgi方式的php應用,工作流程如下:


mod_fastcgi遠程配置方式

fastcgi實例和apache分離開來,這兩者可以分開來部署。他們之間的通信通過tcp或者unix sock來完成。使用ext方式,fastcgi實例是獨立運行的。


php-fpm

使用fastcgi,最主要的優點是把應用和web server(apache)分離開來。這樣允許把web server 和動態語言(php)運行在不同的主機上,以大規模擴展和改進安全性而不損失效率。
這樣情況下,對于php-cgi程序,由于從apache中分離出來,就需要一個單獨的工具來對這些進程進行管理,幸運的就是php-fpm的出現。


特性

(1)php守護進程:pid file,log file,setsid(),setuid(),setgid(),chroot()
(2)進程控制,可以平滑的重啟,重新載入配置和二進制模塊而不丟失請求
(3)限制ip地址,可以滿足web server的要求
(4)使用用不同的uid/gid/chroot/環境變量,不同的php.ini選項,不需要safe mode
(5)記錄word process的stdout和stderr
(6)如果set_time_limit沒有起作用,強制結束過期進程


特色功能:

(1)fastcgi_finish_request()函數:響應完成,關閉連接
(2)優化上傳支持
(3)特色功能Error header


參考文獻:

mod_php對比mod_fastcgi


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美午夜色视频国产精品 | 日韩精品免费视频 | 欧美日韩精品乱国产 | 毛片大全免费 | 天堂av中文字幕 | 一级黄a | 亚洲视频在线播放 | 亚洲一区二区三区在线 | 婷婷激情网站 | 成人欧美视频在线观看 | 久久青 | 亚洲综合精品一区 | 欧美一级一毛片 | 久久亚洲国产精品 | 久久性| 国产精品久久久久久久久久iiiii | 亚洲热线99精品视频 | 成人1234 | 999jjj在线播放| av在线电影网 | 99精品免费久久久久久久久日本 | 成年人在线视频网站 | 国产激情91久久精品导航 | 久久久久在线视频 | 免费在线看a | 欧美日本国产 | 国产视频一 | jizzjizzjizz亚洲日本 | 国产精品免费一区二区三区都可以 | 一级毛片男女做受 | 日韩有码在线观看 | 日韩在线黄色 | 中文字幕日韩在线 | 影音先锋中文字幕一区 | 久草免费新视频 | 鲁一鲁影院 | 色综合天天综合网国产成人网 | 图片区乱熟图片区小说 | 成人网页| 亚洲国产精品综合久久网络 | 一级黄色毛片视频 |