一:什么是 CGI?
服務器端編程語言如(如php/java)與Web服務器之間傳遞信息的協議,約定了http頭、表單等信息的傳遞接口;
二:FastCGI 是什么?
本質上是協議,升級版的 CGI,回到題目,起什么作用,規范作用,所有協議的作用都是規范。
注意不是進程,Nginx 根據此協議拓展了一個模塊,也叫FastCGI,但是重要的話說三遍,
FastCGI 與 CGI 都是協議,不是進程;
FastCGI 與 CGI 都是協議,不是進程;
FastCGI 與 CGI 都是協議,不是進程;
相比于CGI,它的優點有如下:
1、監聽,不用每收到一個請求就加載配置文件,臨時起個進程處理,而是常駐在內存的進程,一有請求就能立即處理;
2、一 master 多 worker,和 Nginx類似,worker 與機器的內核數量相等且一一綁定的話,會提高性能,有效地利用 CPU 資源;
3、平滑啟動,這一點 Nginx 也具備,當修改配置文件后,worker 會及時地更新配置。
三:那么,php-fpm 是什么?
是一個命令行的工具,也叫進程管理器,運行時會有若干個 php-fpm 進程。
其特點如下
1、實現了 FastCGI 協議;
2、用來管理 php 解釋器(php-cgi)的,
而 FastCGI 協議的優點,上面三點已經講得很明確了。
畫外音:
是不是有點繞,就比如說你(php解釋器)不聽話,老師(計算機)怎么管都管不利索,然后呢,老師說你要不再不聽說,就告訴你爸(FastCGI),讓你爸收拾你,你一想萬一被老爸一腳踹墻根(老師能做到,能實現 FastCGI 協議),那還得了,就乖乖聽話,你就從叛逆少年就變成好好學生了,從此平步青云,迎娶白富美,走上人生巔峰,拯救全人類,最后開著地球去銀河系旅游,好了,老板叫我,先把地球停這,你們繼續開。
關于 Nginx 與 服務器端編程語言的交互
Nginx 要想與服務器端腳本語言傳遞信息,就得用 FastCGI 模塊
配置詳情:http://www.nginx.cn/doc/stand...
關于 Nginx 的反向代理與負載均衡;
這兩個一般是放在一塊說的,反向代理不單獨配置。
配置詳情:http://www.nginx.cn/doc/stand...
如果想要更自由地配置 Nginx 怎么辦?
有辦法,Nginx 模塊大全在此,隨便用,良心推薦。
Nginx 模塊大全:http://www.nginx.cn/doc/
拓展問題:
Nginx 是一個進程,php-fpm 也是一個進程,他們之間是通過什么方式通信的呢?
進程間的通信都有哪些,應用場景分別是什么?哈哈,至少三種(管道、信號、socket);
數據結構有什么用?(太 TM 有用,每本計算機相關的專業書不提這個,就像會死)。
作為一個 PHP 程序員,應該去學數據結構嗎?
覺得應該。而且應該用 C 學,因為只有不斷學習,才能突破40歲就沒用的魔咒,很多人說程序員40歲失業就找不到工作,我就不信,成為專家,在40歲還能為生計發愁?
以上就是FastCGI在PHP與Nginx之間的作用介紹的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選