国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 瓦房店市| 鄂托克前旗| 客服| 陆川县| 乐平市| 若尔盖县| 饶阳县| 邯郸市| 化德县| 保定市| 会理县| 海城市| 崇文区| 通河县| 沧源| 上饶市| 平远县| 玉田县| 同江市| 彰武县| 渝北区| 谢通门县| 永靖县| 呼玛县| 青川县| 宜兰市| 井研县| 隆德县| 来安县| 康平县| 广东省| 藁城市| 巴彦淖尔市| 蕉岭县| 沙洋县| 浪卡子县| 江津市| 龙胜| 石渠县| 德清县| 罗平县|