前言:談到Linux下的web生產(chǎn)環(huán)境,大家就會(huì)想到apache這個(gè)開源服務(wù)器軟件.apache可以整合大多數(shù)應(yīng)用,比如jsp,php,cgi,python等等,但是apache過(guò)于臃腫以及對(duì)靜態(tài)文件響應(yīng)過(guò)于緩慢讓很多使用者感到頭疼.而nginx作為新崛起的服務(wù)器軟件,在很多方面超出apache,定位也很明確:高性能的 HTTP 和反向代理服務(wù)器.因而,本篇主要講的是nginx作為前端,apache作為后端的應(yīng)用環(huán)境搭建過(guò)程.
為什么不使用nginx+php(fastcgi)作為生產(chǎn)環(huán)境?我提出我的看法.
- php(fastcgi)不夠穩(wěn)定,經(jīng)常出現(xiàn)502錯(cuò)誤,生成相對(duì)復(fù)雜的頁(yè)面沒(méi)有優(yōu)勢(shì),反而會(huì)使php-cgi進(jìn)程變?yōu)榻┦M(jìn)程.
- 安全性,多用戶多站點(diǎn)權(quán)限問(wèn)題.php(fastcgi)在應(yīng)對(duì)多用戶多站點(diǎn)往往捉襟見(jiàn)肘,不易于實(shí)施.
- 整合其他開發(fā)語(yǔ)言,apache表現(xiàn)得游刃有余.資源利用恰到好處.
為什么采用nginx做前端,apache作為后端的方案?nginx在處理靜態(tài)內(nèi)容上較apache是幾倍或幾十倍的差異,因而放在前面過(guò)濾靜態(tài)內(nèi)容是最為恰當(dāng)?shù)?同時(shí)nginx也是一個(gè)負(fù)載均衡器,低資源消耗,高性能轉(zhuǎn)發(fā)是它的特點(diǎn).經(jīng)過(guò)nginx在前面的過(guò)濾,后端的apache需要處理的內(nèi)容相對(duì)就比較少了.只需負(fù)責(zé)處理動(dòng)態(tài)內(nèi)容就可以了.在性能與穩(wěn)定性的權(quán)衡下,使用nginx+apache搭配會(huì)讓它們?cè)诟髯陨瞄L(zhǎng)的領(lǐng)域展現(xiàn)自身的價(jià)值.
本教程以CentOS 5.4 32bit為環(huán)境.其他Linux發(fā)行版本暫未測(cè)試.nginx,php,apache,mysql,pureftpd均為最新穩(wěn)定版.
查看全文 »