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