国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

mod_php、FastCGI、PHP-FPM等PHP運行方式對比

2024-04-25 20:38:06
字體:
供稿:網(wǎng)友

概述

寫這篇文章的是因為今天要Ubuntu下搭建LNMP環(huán)境,Nginx使用的是PHP-FPM,所以對Web服務(wù)器與PHP解釋器的交互方式做了個整理。

眾所周知,PHP是跨平臺、跨服務(wù)器的語言,這也是它如此流行的原因之一。但是,很少有人知道PHP解釋器可以以不同的方式運行在Web服務(wù)器中。PHP最常用的方式是以模塊的方式(mod_php)運行在Apache中,也是Apache運行PHP的默認(rèn)方式。但是在Nginx中,Nginx又使用的是PHP-FPM。

這篇文章就對這些概念做個介紹,如有不對的地方,請多多批評指教。

什么是PHP處理器(PHP handlers)?

首先需要記住的是,任何一種Web服務(wù)器(Apache、Nginx等)都是被設(shè)計成向用戶發(fā)送html、圖片等靜態(tài)資源的,Web服務(wù)器自身并不能解釋任何動態(tài)腳本(PHP、Python等)。PHP處理器就是用來解釋W(xué)eb應(yīng)用中的PHP代碼,并將它解釋為HTML或其他靜態(tài)資源,然后將解析的結(jié)果傳給Web服務(wù)器,最后再由Web服務(wù)器發(fā)送給用戶。大多數(shù)的Web服務(wù)器都不能解析PHP代碼,因此它需要一個能解析PHP代碼的程序,這就是PHP處理器。

mod_php

首先,來看一下以Apache模塊方式運行PHP。mod_php現(xiàn)在在Linux各版本的軟件倉庫里都有,因此很容易被安裝。

當(dāng)PHP以模塊的方式運行在Apache中時,PHP解釋器被“內(nèi)嵌”在Apache的進(jìn)程里。Apache不會調(diào)用任何外部的PHP進(jìn)程,因此這種方式使Apache與PHP能更好的通信。但是,當(dāng)以這種方式運行PHP的時候,哪怕Apache提供的僅僅是靜態(tài)的資源(如HTML),Apache的每個子進(jìn)程也都會載入 mod_php,導(dǎo)致了比正常情況下更多的內(nèi)存開銷。

以這種方式運行的另一個缺點是,它僅能與Apache一起配合工作。另外,在小型的VPS和大型的網(wǎng)站中,這種方式也不合適,因為大型網(wǎng)站可能有很多靜態(tài)資源,而這些靜態(tài)資源是不需要PHP程序解釋的。

優(yōu)點:

1.易于安裝和更新

2.容配置

缺點:

1.僅能與Apache一起工作

2.增加了Apache子進(jìn)程內(nèi)存開銷

3.當(dāng)更改php.ini文件后,需要重啟Apache

FastCGI

FastCGI是交互程序與Web服務(wù)器通用的協(xié)議接口,是早期CGI(Common Gateway Interface)的一個變種。相對于CGI來說,F(xiàn)astCGI減少了和Web服務(wù)器交互的開銷,同時一次可以處理更多的請求。

Apache可以以mod_fcgid的形式使用FastCGI。其他Web服務(wù)器,如lighttpd, nginx, Cherokee,甚至微軟的IIS也都能使用FastCGI。使用FastCGI,可以同時設(shè)置多個版本的PHP,這在某些情況下非常有用。

FastCGI還利用suexec來支持不同的用戶用自己的PHP的實例。這個特性對于在共享環(huán)境下提高安全性尤其重要。FastCGI在保證性能的同時,也減少了Web服務(wù)器的內(nèi)存開銷。

優(yōu)點:

1.兼容多數(shù)Web服務(wù)器

2.比mod_php占內(nèi)存小

3.更多的配置項,包括多版本PHP和suexec

缺點

1.配置復(fù)雜

2.不被大家所熟知

PHP-FPM(FastCGI Process Manager)

PHP-FPM是Web服務(wù)器使用PHP的一種最新方式,也是PHP FastCGI的另外一種實現(xiàn)。PHP-FPM對于運行在小型VPS和多服務(wù)器上的Web應(yīng)用非常應(yīng)用。同時,它也可以被兼容FastCGI的任何Web服務(wù)器所使用。

PHP-FPM使管理員能夠優(yōu)雅地停止和啟動PHP工作進(jìn)程而不丟失任何查詢。這允許我們逐步更新配置和二進(jìn)制,而不會損失任何查詢。它還允許我們在發(fā)生任何意外破壞的情況下,緊急重啟進(jìn)程。

優(yōu)點:

1.兼容多數(shù)Web服務(wù)器

2.比mod_php占內(nèi)存小

3.更多的配置項,包括多版本PHP和suexec

缺點

1.配置復(fù)雜

2.不被大家所熟知

補(bǔ)充:Apache運行PHP的四種方式

mod_php (DSO,Dynamic Shared Object)

CGI

suPHP

FastCGI

總結(jié)

內(nèi)容相對抽象,理解的不深,記錄下留作以后參考~:)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临沧市| 额尔古纳市| 临汾市| 桦甸市| 镇巴县| 若尔盖县| 长春市| 双桥区| 壶关县| 防城港市| 新化县| 长治市| 兴国县| 新化县| 宾阳县| 井研县| 修文县| 萍乡市| 怀安县| 鄯善县| 筠连县| 广德县| 搜索| 德安县| 兴义市| 秦皇岛市| 海口市| 贞丰县| 赤水市| 罗江县| 义马市| 陆河县| 施甸县| 新田县| 古田县| 鹿邑县| 安多县| 乡城县| 繁峙县| 宝兴县| 自治县|