Nginx

    Nginx(發音同engine x)是一個 Web服務器,也可以用作反向代理,負載平衡器和 HTTP緩存。Nginx 可以部署在網絡上使用 FastCGI,腳本,SCGI 處理程序,WSGI 應用服務器或 Phusion 乘客模塊的動態 HTTP 內容,并可作為軟件負載均衡器。Nginx 使用異步事件驅動的方法來處理請求。 Nginx的模塊化事件驅動架構可以在高負載下提供更可預測的性能。

     Nginx是一款面向性能設計的HTTP服務器,相較于Apache、lighttpd具有占有內存少,穩定性高等優勢。與舊版本(<=2.2)的Apache不同,nginx不采用每客戶機一線程的設計模型,而是充分使用異步邏輯,削減了上下文調度開銷,所以并發服務能力更強。整體采用模塊化設計,有豐富的模塊庫和第三方模塊庫,配置靈活。 在Linux操作系統下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系統下效率相當高。

HTTP基礎功能:

  • 處理靜態文件,索引文件以及自動索引;
  • 反向代理加速(無緩存),簡單的負載均衡和容錯;
  • FastCGI,簡單的負載均衡和容錯;
  • 模塊化的結構。過濾器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI過濾器中,到同一個 proxy 或者 FastCGI 的多個子請求并發處理;
  • SSL 和 TLS SNI 支持;

IMAP/POP3 代理服務功能:

  • 使用外部 HTTP 認證服務器重定向用戶到 IMAP/POP3 后端;
  • 使用外部 HTTP 認證服務器認證用戶后連接重定向到內部的 SMTP 后端;
  • 認證方法:
  • POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;
  • IMAP: IMAP LOGIN;
  • SMTP: AUTH LOGIN PLAIN CRAM-MD5;
  • SSL 支持;
  • 在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持;

支持的操作系統:

  • FreeBSD 3.x, 4.x, 5.x, 6.x i386; FreeBSD 5.x, 6.x amd64;
  • Linux 2.2, 2.4, 2.6 i386; Linux 2.6 amd64;
  • Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;
  • MacOS X (10.4) PPC;

結構與擴展:

  • 一個主進程和多個工作進程。工作進程是單線程的,且不需要特殊授權即可運行;
  • kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), select, 以及 poll 支持;
  • kqueue支持的不同功能包括 EV_CLEAR, EV_DISABLE (臨時禁止事件), NOTE_LOWAT, EV_EOF, 有效數據的數目,錯誤代碼;
  • sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), 和 sendfilev (Solaris 8 7/01+) 支持;
  • 輸入過濾 (FreeBSD 4.1+) 以及 TCP_DEFER_ACCEPT (Linux 2.4+) 支持;
  • 10,000 非活動的 HTTP keep-alive 連接僅需要 2.5M 內存。
  • 最小化的數據拷貝操作;

其他HTTP功能:

  • 基于IP 和名稱的虛擬主機服務;
  • Memcached 的 GET 接口;
  • 支持 keep-alive 和管道連接;
  • 靈活簡單的配置;
  • 重新配置和在線升級而無須中斷客戶的工作進程;
  • 可定制的訪問日志,日志寫入緩存,以及快捷的日志回卷;
  • 4xx-5xx 錯誤代碼重定向;
  • 基于 PCRE 的 rewrite 重寫模塊;
  • 基于客戶端 IP 地址和 HTTP 基本認證的訪問控制;
  • PUT, DELETE, 和 MKCOL 方法;
  • 支持 FLV (Flash 視頻);
  • 帶寬限制;

原創文章,作者:HGG,如若轉載,請注明出處:http://www.www58058.com/85611

(0)
HGGHGG
上一篇 2017-08-29
下一篇 2017-08-29

相關推薦

  • HAProxy基于Keepalived做高可用并簡單實現Web站點的動靜分離

    HAProxy簡介   HAProxy 是一個免費的,非??焖俸涂煽康慕鉀Q方案,提供 高可用性, 負載均衡和代理對TCP和HTTP的應用程序。它特別適用于非常大流量網站。多年來,它已成為標準開源的負載均衡,現在隨最主流的Linux發行版,并且通常默認的云平臺部署。 實驗描述 1、本實驗主要是在前端放置兩臺通過Keepalived做了高可用的HAProxy反向…

    Linux干貨 2016-04-16
  • LVM相關使用

    前言: LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分…

    Linux干貨 2017-08-13
  • Linux網絡屬性配置—iproute命令家族

    ip命令: show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | netns  } ip  OBJECT: ip li…

    Linux干貨 2016-12-04
  • Nginx+Keepalived實現站點高可用

    Nginx+Keepalived實現站點高可用 vrrp 虛擬路由冗余協議(Virtual Router Redundancy Protocol,簡稱VRRP)是由IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議,1998年已推出正式的RFC2338協議標準。VRRP廣泛應用在邊緣網絡中,它的設計目標是支持特定情況下IP數據流量失敗轉移不會引…

    Linux干貨 2016-11-07
  • select和case用法

    一、作業 1、斐波那契數列又稱黃金分割數列,因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……,斐波納契數列以如下被以遞歸的方法定義:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2) 寫一個函數,求n階斐波那契數列 2、漢諾塔(又稱河內塔)問…

    Linux干貨 2016-08-21
  • 馬哥教育網絡班21期+第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; ~]# egrep ^[[:space:]] /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; ~]# egrep …

    Linux干貨 2016-08-08
欧美性久久久久