您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Nginx + FastCGI運行原理是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
FastCGI(Fast Common Gateway Interface,快速通用網關接口),是一個可伸縮的、高速地在HTTP server和動態腳本語言間通信的接口(或者說是協議)。
Nginx + FastCGI運行原理
Nginx不支持對外部程序的直接調用或者解析,所有的程序(包括PHP)必須通過FastCGI、uwsig接口調用。
FastCGI接口調用在Linux下的socket(unix sockt或者ip:port 形式)。為了調用CGI程序,還需要一個FastCGI的wrapper,wrapper綁定在某個固定的socket上,如端口或者文件socket。
當Nginx將CGI請求發送給這個socket時,通過FastCGI接口,wrapper接納到請求,然后派生出一個新的線程,這個線程調用解釋器或者外部程序 處理腳本,并讀取返回數據;接著wrapper再將返回的數據通過FastCGI接口,沿著固定的socket傳遞給Nginx。
最后Nginx將返回的數據發送給客戶端。
PHP-FPM
FastCGI接口方式在腳本解析服務器上啟動一個或者多個守護進程對動態腳本進行解析,這些進程就是FastCGI進程管理器,或者FastCGI引擎。
PHP-FPM就是支持PHP的FastCGI引擎。PHP-FPM是一個第三方的FastCGI進程管理器,作為PHP的一個補丁進行開發的,因此在安裝的時候需要和PHP源碼一起編譯,也就是說PHP-FPM被編譯到PHP內核中。
FastCGI 的主要優點是把動態語言和 HTTP Server 分離開來,所以 Nginx 與PHP/PHP-FPM 經常被部署在不同的服務器上,以分擔前端 Nginx 服務器的壓力,使 Nginx專一處理靜態請求和轉發動態請求,而 PHP/PHP-FPM 服務器專一解析 PHP 動態請求。
關于Nginx + FastCGI運行原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。