Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器,同時也是一個IMAP、POP三、SMTP郵件代理服務器。由俄羅斯的程序設計師Igor Sysoev採用C語言開發的,官方測試nginx可以支撐5萬併發連接,而且cpu、內存等資源消耗很是低,運行也很是穩定。它也是一個跨平臺服務器,能夠運行在Linux、Windows、FreeBSD、Solaris、AIX、Mac OS等操做系統上。與Nginx同類型的Web服務器還有Apache、Lighttpd、Tengine(阿里巴巴團隊研發)。nginx的併發處理能力在同類型web服務器中表現極好,在全世界範圍內大量網站都使用了nginx,國內應用中也大量使用了nginx,例如淘寶、新浪等。nginx同時也是開源的,也有收費的商業版本,商業版本提供了性能優化、宕機等緊急問題處理等技術支持和服務。nginx
1.跨平臺:能夠在大多數類Unix系統上編譯運行,並且也有Windows的移植版本。
2.配置簡單:容易上手。
3.非阻塞、高併發鏈接:數據複製時,磁盤I/O的第一階段是非阻塞的。官方測試能支持5萬併發鏈接,實際生產中能跑2~3萬併發鏈接數(得益於Nginx採用了最新的epoll事件處理模型(消息隊列)。
4.Nginx代理和後端Web服務器間無需長鏈接。
5.Nginx接收用戶請求是異步的,即先將用戶請求所有接收下來,再一次性發送到後端Web服務器,極大減輕後端Web服務器的壓力。
6.發送響應報文時,是邊接收來自後端Web服務器的數據,邊發送給客戶端。
7.網絡依賴性低,理論上只要可以ping通就能夠實現負載均衡,並且能夠有效區份內網、外網流量。
8.支持內置服務器檢測。Nginx可以根據應用服務器處理頁面返回的狀態碼、超時信息等檢測服務器是否出現故障,並及時返回錯誤的請求從新提交到其它節點上。
9.採用Master/worker多進程工做模式。
10.此外還有內存消耗小、成本低廉(比F5硬件負載均衡器廉價太多)、節省帶寬、穩定性高等特色。web
一、 http服務器。Nginx是一個http服務器能夠獨立提供http服務。能夠作網頁靜態服務器。
二、 虛擬主機。能夠實如今一臺服務器虛擬出多個網站。例如我的網站使用的虛擬主機。
三、 反向代理,負載均衡。當網站的訪問量達到必定程度後,單臺服務器不能知足用戶的請求時,須要用多臺服務器集羣,這時可使用nginx作反向代理。而且多臺服務器能夠平均分擔負載,不會由於某臺服務器負載高而宕機或者出現某臺服務器閒置的狀況,從而充分有效的利用資源。
四、Nginx能夠做爲一個HTTP服務器進行網站的發佈處理,另外Nginx也能夠做爲反向代理進行負載均衡的實現。
總的來講,nginx主要應用於靜態網站、負載均衡、靜態代理、動靜分離、虛擬主機等方面。後端