IIS、Apache和Nginx對(duì)比
PHP網(wǎng)站的服務(wù)器一般都采用IIS、Apache和Nginx中的一種,本節(jié)會(huì)介紹這三種服務(wù)器及其各自的優(yōu)缺點(diǎn)。
IIS
網(wǎng)址:https://www.iis.net/
IIS是微軟公司提供的在Windows系統(tǒng)上運(yùn)行的互聯(lián)網(wǎng)基本服務(wù),英文全稱為Internet InformationServices,意為“互聯(lián)網(wǎng)信息服務(wù)”。IIS包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面。開發(fā)人員可以很容易地在IIS上面部署網(wǎng)站,并能發(fā)布網(wǎng)頁。IIS支持PHP、ASP、Java、VBScript等編程語言。
Apache
網(wǎng)址:https://httpd.apache.org/
Apache HTTP Server,簡稱Apache,是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)電腦操作系統(tǒng)中運(yùn)行,因其跨平臺(tái)性和安全性而被廣泛使用,是最流行的Web服務(wù)器軟件之一。Apache是一個(gè)開源項(xiàng)目,這個(gè)項(xiàng)目的目標(biāo)是提供一個(gè)安全、高效和可擴(kuò)展的服務(wù)器,提供與當(dāng)前HTTP標(biāo)準(zhǔn)同步的HTTP服務(wù)。Apache服務(wù)器也叫“httpd”,于1995年推出。它快速、可靠,并且可通過簡單的API擴(kuò)展,自1996年4月以來一直是互聯(lián)網(wǎng)上最受歡迎的網(wǎng)絡(luò)服務(wù)器。
Nginx
網(wǎng)址:https://nginx.org/
Nginx是由伊戈?duì)?賽索耶夫(Igor Sysoev)編寫的HTTP和反向代理服務(wù)器、郵件代理服務(wù)器和通用TCP / UDP代理服務(wù)器,使用異步事件驅(qū)動(dòng)的方法來處理請(qǐng)求。Nginx是一款面向性能設(shè)計(jì)的HTTP服務(wù)器,其目標(biāo)就是超越Apache Web服務(wù)器的性能,所以和Apache等其他服務(wù)器相比,它具有占有存少、穩(wěn)定性高等優(yōu)勢。
全球有大量的服務(wù)器使用IIS、Apache和Nginx,它們各自又有哪些優(yōu)勢和缺點(diǎn)呢?
1,開源和收費(fèi)
IIS不具備跨平臺(tái)性,只支持在Windows上運(yùn)行,想要合法使用IIS就要購買正版的Windows操作系統(tǒng)。而Apache和Nginx都是完全免費(fèi)的,不需要支付任何費(fèi)用就可以下載并使用。由于大部分科技公司的服務(wù)器采用Linux操作系統(tǒng),因此會(huì)更多地使用Apache和Nginx;而對(duì)于那些服務(wù)器都采用Windows系統(tǒng)的大型企業(yè),一般會(huì)選用IIS作為服務(wù)器。
2.穩(wěn)定性
由于Windows操作系統(tǒng)的原因,IIS的穩(wěn)定性會(huì)比Linux下的Apache和Nginx弱,IIS在實(shí)際使用中會(huì)偶爾出現(xiàn)500錯(cuò)誤,用戶需要不定期地重新啟動(dòng)以確保IIS網(wǎng)站運(yùn)行正常;Apache和Nginx的配置更為靈活,也更為復(fù)雜,不過一經(jīng)設(shè)置完畢就可以長期工作,一般情況下,一臺(tái)配置好的服務(wù)器運(yùn)行一年也不會(huì)出現(xiàn)問題。
3.性能
三者之中,Nginx的性能最高,適合高可用性的HTTP服務(wù);而Apache更適合通用的Web網(wǎng)站;[IS與.net網(wǎng)站配合最佳。自PHP 5.3.3起,PHP-FPM (FastCGI Process Manager, FastCGI進(jìn)程管理器)加入到PHP核心,編譯時(shí)加上“--enable-fpm”即可提供支持。PHP-FPM用來守護(hù)進(jìn)程在后臺(tái)運(yùn)行,Nginx響應(yīng)請(qǐng)求后,自行處理靜態(tài)請(qǐng)求,PHP請(qǐng)求則經(jīng)過fastecgi_pass交由PHP-FPM處理,處理完畢后返回。Nginx和PHP-FPM的組合,是一種穩(wěn)定、高效的PHP運(yùn)行方式,效率要比傳統(tǒng)的Apache 和IIS高出很多。
4.復(fù)雜度
IIS使用起來比較簡單,很容易部署并對(duì)外發(fā)布網(wǎng)站;Nginx和Apache的使用要比II難,需要有定計(jì)算機(jī)及網(wǎng)絡(luò)基礎(chǔ)的人才可以使用,它們的配置也不是圖形化的,需要我們通過編輯配置文件來實(shí)現(xiàn)。從配置本身來說,Apache提供了豐富的模塊,因此配置最為復(fù)雜。
