LNMP架構總結與CGI,FastCGI的介紹

2021-10-03 15:48:53 字數 1383 閱讀 6733

cgl(common gateway inte***ce),即通用閘道器介面,是www技術中最重要的技術之一,是外部應用程式(即cgl程式)與web伺服器之間的介面標準,負責在cgl程式和web伺服器之間傳遞資訊。cgl是web伺服器執行時,呼叫外部應用程式(即cgl程式)的規範,cgi規範允許web伺服器執行外部程式,並將它們的輸出傳送給web瀏覽器

cgl程式處理步驟

1.瀏覽器通過html表單或超連結,請求指向乙個cgi應用程式的url;

2.伺服器收到瀏覽器傳送的請求;

3.伺服器呼叫執行指定cgi應用程式;

4.cgi應用程式根據相關資訊(通常是基於瀏覽者輸入的內容 5.cgi應用程式把操作結果格式化為網路伺服器和瀏覽器能夠理解的文件(通常是html網頁),並傳送給web伺服器;

6.web伺服器把操作結果返回給瀏覽器fastcgl

fastcgl 實際上是增加了一些擴充套件功能的cgl、是cgl的改進,描述了客戶端和web伺服器程式之間傳輸資料的一種標準。

fastcgl致力於減少web伺服器與cgl程式之間進行互動的開銷,從而使web伺服器可以同時處理更多的web請求。與cgl

為每個web請求建立乙個新的程序不同,fastcgl使用持續的程序來處理一連串的web請求,這些程序由fastcgl程序管理器管理,而不是web伺服器

由於fastcgl 程式並不需要不斷產生新程序,因此使用fastcgl 可以大大降低web伺服器的壓力並產生較高的應用效率。

cgl就是所謂的短生存期應用程式,而fastcgl 就是所謂的長生存期應用程式,fastcgl 像是乙個常駐(long-live)型的cgl,fastcgl可以一直執行著,而不會每次花費時間去fork(這也是cgl最為人詬病的 fork-and-execute模式)

1.web伺服器啟動時,初始化fastcgl的程式執行環境。

例如nginx伺服器對應的ngx_http_fastcgi_module模組

2.fastcgl程序管理器自身初始化,啟動多個cgi直譯器程序並等待來自web伺服器的連線

3.當客戶端請求到達web伺服器時,web伺服器將該請求採用socket方式**到fastcgl 主程序,fastcgl主程序選擇並連線到乙個cgl直譯器(關聯fastcgl子程序),然後,web伺服器將cgl環境變數和標準輸入傳送到fastcgl 子程序。 4.fastcgl 子程序完成處理後,將標準輸出和錯誤資訊從同一socket連線返回給web伺服器。最後,fastcgl子程序關閉與web伺服器之間的連線。

5.fastcgl 子程序繼續等待並處理下乙個來自web伺服器的連線

LAMP與LNMP架構的區別

lamp linux apache mysql php lnmp linux nginx mysql php 以上兩隻架構是目前 的主流架構 lamp和lnmp最主要的區別在於 乙個使用的是apache,乙個使用的是nginx。我們就來說說apache apache是世界是用排名第一的web伺服器軟...

lnmp架構搭建

一 準備環境 1 準備系統環境,我準備的是centos 7.2版本的系統,證明這套架構可以在本系統上執行。2 準備網路環境,配置ip dns以確保這台裝置可以訪問外網。3 配置yum源,配置yum源可以非常方便的進行相關依賴包的安裝。1 準備新的yum安裝包並把他放到新建的目錄下 usr yum下,...

LNMP架構 安裝Mysql

cd usr local src 安裝包存放路徑 tar zxvf mysql 5.6.35 linux glibc2 5 x86 64 tar.gz 解壓 mv mysql 5.6.35 linux glibc2 5 x86 64 usr local mysql 移動位置 cd usr local...