Nginx是什么?
一、介紹
Nginx是一個高性能的HTTP和反向代理服務(wù)器,也是一個IMAP/POP3/SMTP代理服務(wù)器。
Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器以及電子郵件代理服務(wù)器,并在一個BSD-like協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計師lgor Sysoev所開發(fā),供俄國大型的入口網(wǎng)站及搜索引擎Rambler使用。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好。
Nginx相較于Apache\lighttpd具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢,并且依靠并發(fā)能力強(qiáng),豐富的模塊庫以及友好靈活的配置而聞名。在Linux操作系統(tǒng)下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系統(tǒng)下效率相當(dāng)高。同時Nginx在OpenBSD或FreeBSD操作系統(tǒng)上采用類似于Epoll的高效事件模型kqueue
二、名詞解釋
代理服務(wù)器:一般是指局域網(wǎng)內(nèi)部的機(jī)器通過代理服務(wù)器發(fā)送請求到互聯(lián)網(wǎng)上的服務(wù)器,代理服務(wù)器一般作用在客戶端。
反向代理:客戶端(用戶A)向反向代理的命名空間(name-space)中的內(nèi)容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請求,并將獲得的內(nèi)容返回給客戶端。而客戶端始終認(rèn)為它訪問的是原始服務(wù)器B而不是服務(wù)器Z。由于防火墻作用,只允許服務(wù)器Z進(jìn)出,防火墻和反向代理共同作用保護(hù)了院子資源服務(wù)器B。
?????????用途:將防火墻后面的服務(wù)器提供給Internet用戶訪問。反向代理還可以為后端的多臺服務(wù)器提供負(fù)載平衡或?yàn)楹蠖溯^慢的服務(wù)器提供緩沖服務(wù)。
正向代理:正向代理是一個位于客戶端A和原始服務(wù)器(服務(wù)器B)之間的服務(wù)器(代理服務(wù)器Z),為了從原始服務(wù)器取得內(nèi)容,用戶A向代理服務(wù)器Z發(fā)送一個請求并指定目標(biāo)(服務(wù)器B),然后代理服務(wù)器Z向服務(wù)器B轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。
?用途:在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問Internet的途徑。還可以使用緩沖特性減少網(wǎng)絡(luò)使用率。
從安全性來講:
正向代理允許客戶端通過它訪問任意網(wǎng)站并且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經(jīng)過授權(quán)的客戶端提供服務(wù)。
反向代理對外都是透明的,訪問者并不知道自己訪問的是一個代理。
三、Nginx VS Apache
相同點(diǎn):
1、都是HTTP服務(wù)器軟件
2、功能上都采用模塊化結(jié)構(gòu)設(shè)計
3、都支持通用的語言接口,如PHP、Perl、Python等
4、支持正向、反向代理、虛擬主機(jī)、URL重寫、壓縮傳輸、SSL加密傳輸
不同點(diǎn):
1、Apache處理速度很慢,占用很多內(nèi)存資源
2、功能上,Apache所有模塊支持動靜態(tài)編譯,Nginx模塊都是靜態(tài)編譯的
3、對Fcgi的支持:Apache支持的很不好,Nginx支持非常好
4、處理連接方式:Nginx支持epoll,Apache不支持
5、空間使用上:Nginx安裝包僅幾百K
四、Nginx優(yōu)勢
1、作為Web服務(wù)器,Nginx處理靜態(tài)文件、索引文件,自動索引的效率非常高
2、作為代理服務(wù)器,Nginx可以實(shí)現(xiàn)無緩存的反向代理加速,提高網(wǎng)站運(yùn)行速度
3、作為負(fù)載均衡服務(wù)器,Nginx既可以在內(nèi)部直接支持Rails和PHP,也可以支持HTTP代理服務(wù)器對外進(jìn)行服務(wù),同時還支持簡單的容錯和利用算法進(jìn)行負(fù)載均衡
4、在性能方面,Nginx是專門為性能優(yōu)化而開發(fā)的,實(shí)現(xiàn)上非常注重效率。它采用內(nèi)核Poll模型,可以支持更多的并發(fā)連接,最大可以支持對5萬個并發(fā)連接數(shù)的響應(yīng),而且只占用很低的內(nèi)存資源
5、在穩(wěn)定性方面,Nginx采取了分階段資源分配技術(shù),使得CPU與內(nèi)存的占用率非常低。Nginx官方表示,Nginx保持1萬個沒有活動的連接,而這些連接只占用2.5MB內(nèi)存,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的
6、在高可用性方面,Nginx支持熱部署,啟動速度特別迅速,因此可以在不間斷服務(wù)的情況下,對軟件版本或者配置進(jìn)行升級,即使運(yùn)行數(shù)月也無需重新啟動,幾乎可以做到7x24小時不間斷地運(yùn)行
總結(jié)
- 上一篇: php 将录音转化成文字,录音转文字助手
- 下一篇: 使用Nginx+WordPress搭建个