新聞中心

Nginx完全教程(必讀)

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

Nginx完全教程(必讀)

本文引用地址:http://butianyuan.cn/article/201610/305586.htm

Nginx 概述

HTTP基礎(chǔ)功能:

· 處理靜態(tài)文件,索引文件以及自動(dòng)索引;

· 反向代理加速(無(wú)緩存),簡(jiǎn)單的負(fù)載均衡和容錯(cuò);

IXDBA.NET技術(shù)社區(qū)

· FastCGI,簡(jiǎn)單的負(fù)載均衡和容錯(cuò);

· 模塊化的結(jié)構(gòu)。過(guò)濾器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI過(guò)濾器中,到同一個(gè) proxy 或者 FastCGI 的多個(gè)子請(qǐng)求并發(fā)處理;

· SSL 和 TLS SNI 支持;

IMAP/POP3 代理服務(wù)功能:

· 使用外部 HTTP 認(rèn)證服務(wù)器重定向用戶到 IMAP/POP3 后端;

· 使用外部 HTTP 認(rèn)證服務(wù)器認(rèn)證用戶后連接重定向到內(nèi)部的 SMTP 后端;

· 認(rèn)證方法:

o POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;

o IMAP: IMAP LOGIN;

o SMTP: AUTH LOGIN PLAIN CRAM-MD5;

· SSL 支持;

· 在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持;

支持的操作系統(tǒng):

· 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;

結(jié)構(gòu)與擴(kuò)展:

· 一個(gè)主進(jìn)程和多個(gè)工作進(jìn)程。工作進(jìn)程是單線程的,且不需要特殊授權(quán)即可運(yùn)行;

· 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 (臨時(shí)禁止事件), NOTE_LOWAT, EV_EOF, 有效數(shù)據(jù)的數(shù)目,錯(cuò)誤代碼;

· sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), 和 sendfilev (Solaris 8 7/01+) 支持;

· 輸入過(guò)濾 (FreeBSD 4.1+) 以及 TCP_DEFER_ACCEPT (Linux 2.4+) 支持;

· 10,000 非活動(dòng)的 HTTP keep-alive 連接僅需要 2.5M 內(nèi)存。

· 最小化的數(shù)據(jù)拷貝操作;

其他HTTP功能:

· 基于IP 和名稱的虛擬主機(jī)服務(wù);

· Memcached 的 GET 接口;

· 支持 keep-alive 和管道連接;

· 靈活簡(jiǎn)單的配置;

· 重新配置和在線升級(jí)而無(wú)須中斷客戶的工作進(jìn)程;

· 可定制的訪問(wèn)日志,日志寫入緩存,以及快捷的日志回卷;

· 4xx-5xx 錯(cuò)誤代碼重定向;

· 基于 PCRE 的 rewrite 重寫模塊;

· 基于客戶端 IP 地址和 HTTP 基本認(rèn)證的訪問(wèn)控制;

· PUT, DELETE, 和 MKCOL 方法;

· 支持 FLV (Flash 視頻);

· 帶寬限制;

實(shí)驗(yàn)特性:

· 內(nèi)嵌的 perl

· 通過(guò) aio_read()/aio_write() 的套接字工作的實(shí)驗(yàn)?zāi)K,僅在 FreeBSD 下。

· 對(duì)線程的實(shí)驗(yàn)化支持,F(xiàn)reeBSD 4.x 的實(shí)現(xiàn)基于 rfork()

為什么選擇Nginx

Nginx 是一個(gè)高性能的 Web 和反向代理服務(wù)器, 它具有有很多非常優(yōu)越的特性:

· 作為 Web 服務(wù)器:相比 Apache,Nginx 使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)更高的效率,這點(diǎn)使 Nginx 尤其受到虛擬主機(jī)提供商的歡迎。能夠支持高達(dá) 50,000 個(gè)并發(fā)連接數(shù)的響應(yīng),感謝 Nginx 為我們選擇了 epoll and kqueue 作為開發(fā)模型.

· 作為負(fù)載均衡服務(wù)器:Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP,也可以支持作為 HTTP代理服務(wù)器 對(duì)外進(jìn)行服務(wù)。Nginx 用 C 編寫, 不論是系統(tǒng)資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。

· 作為郵件代理服務(wù)器: Nginx 同時(shí)也是一個(gè)非常優(yōu)秀的郵件代理服務(wù)器(最早開發(fā)這個(gè)產(chǎn)品的目的之一也是作為郵件代理服務(wù)器),Last.fm 描述了成功并且美妙的使用經(jīng)驗(yàn)。

· Nginx 安裝非常的簡(jiǎn)單,配置文件 非常簡(jiǎn)潔(還能夠支持perl語(yǔ)法),Bugs非常少的服務(wù)器: Nginx 啟動(dòng)特別容易,并且?guī)缀蹩梢宰龅?*24不間斷運(yùn)行,即使運(yùn)行數(shù)個(gè)月也不需要重新啟動(dòng)。你還能夠在 不間斷服務(wù)的情況下進(jìn)行軟件版本的升級(jí)。

安裝Nginx

預(yù)先編譯好的安裝包

Nginx在一些Linux發(fā)行版和BSD的各個(gè)變種版本的安裝包倉(cāng)庫(kù)中都會(huì)有,通過(guò)各個(gè)系統(tǒng)自帶的軟件包管理方法即可安裝。需要注意的是,很多預(yù)先編譯好的安裝包都比較陳舊,大多數(shù)情況下還是推薦直接從源碼編譯。

官方源代碼下載

點(diǎn)擊下載源代碼

使用源代碼進(jìn)行構(gòu)建

Nginx 使用 Unix 下常用的 './configure make make install' 過(guò)程來(lái)編譯安裝。

configure 腳本確定系統(tǒng)所具有一些特性,特別是 nginx 用來(lái)處理連接的方法。然后,它創(chuàng)建 Makefile 文件。

configure 支持下面的選項(xiàng):

--prefix=path> - Nginx安裝路徑。如果沒有指定,默認(rèn)為 /usr/local/nginx。

--sbin-path=path> - Nginx可執(zhí)行文件安裝路徑。只能安裝時(shí)指定,如果沒有指定,默認(rèn)為prefix>/sbin/nginx。

--conf-path=path> - 在沒有給定-c選項(xiàng)下默認(rèn)的nginx.conf的路徑。如果沒有指定,默認(rèn)為prefix>/conf/nginx.conf。

--pid-path=path> - 在nginx.conf中沒有指定pid指令的情況下,默認(rèn)的nginx.pid的路徑。如果沒有指定,默認(rèn)為 prefix>/logs/nginx.pid。

--lock-path=path> - nginx.lock文件的路徑。

--error-log-path=path> - 在nginx.conf中沒有指定error_log指令的情況下,默認(rèn)的錯(cuò)誤日志的路徑。如果沒有指定,默認(rèn)為 prefix>/logs/error.log。

--http-log-path=path> - 在nginx.conf中沒有指定access_log指令的情況下,默認(rèn)的訪問(wèn)日志的路徑。如果沒有指定,默認(rèn)為 prefix>/logs/access.log。


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉