Nginx 解決了服務(wù)器的C10K(就是在一秒之內(nèi)連接客戶端的數(shù)目為10k即1萬)問題。 Nginx的設(shè)計(jì)不像傳統(tǒng)的服務(wù)器那樣使用線程處理請(qǐng)求,而是一個(gè)更加高級(jí)的機(jī)制—事件驅(qū)動(dòng)機(jī)制,是一種異步事件驅(qū)動(dòng)結(jié)構(gòu)。
雖然目前Nginx的份額在市場(chǎng)上只占很少部分,但是其高性能和低消耗內(nèi)存的結(jié)構(gòu),使得其越來越普遍,典型的一個(gè)應(yīng)用就是我們可以使用Nginx作為反向代理進(jìn)行網(wǎng)站的負(fù)載均衡器。例如:Wordpress、GitHub等知名的網(wǎng)站都使用到了Nginx。
Nginx的特點(diǎn)
跨平臺(tái):可以在大多數(shù)Unix like 系統(tǒng)編譯運(yùn)行。而且也有Windows的移植版本。
配置異常簡(jiǎn)單:非常的簡(jiǎn)單,易上手。
非阻塞、高并發(fā)連接:數(shù)據(jù)復(fù)制時(shí),磁盤I/O的第一階段是非阻塞的。官方測(cè)試能支持5萬并發(fā)連接,實(shí)際生產(chǎn)中能跑2~3萬并發(fā)連接數(shù)(得益于Nginx采用了最新的epoll事件處理模型(消息隊(duì)列)。
Nginx代理和后端Web服務(wù)器間無需長(zhǎng)連接;
Nginx接收用戶請(qǐng)求是異步的,即先將用戶請(qǐng)求全部接收下來,再一次性發(fā)送到后端Web服務(wù)器,極大減輕后端Web服務(wù)器的壓力。
發(fā)送響應(yīng)報(bào)文時(shí),是邊接收來自后端Web服務(wù)器的數(shù)據(jù),邊發(fā)送給客戶端。
網(wǎng)絡(luò)依賴性低,理論上只要能夠ping通就可以實(shí)施負(fù)載均衡,而且可以有效區(qū)分內(nèi)網(wǎng)、外網(wǎng)流量。
支持內(nèi)置服務(wù)器檢測(cè)。Nginx能夠根據(jù)應(yīng)用服務(wù)器處理頁面返回的狀態(tài)碼、超時(shí)信息等檢測(cè)服務(wù)器是否出現(xiàn)故障,并及時(shí)返回錯(cuò)誤的請(qǐng)求重新提交到其它節(jié)點(diǎn)上。
采用Master/worker多進(jìn)程工作模式
此外還有內(nèi)存消耗小、成本低廉(比F5硬件負(fù)載均衡器廉價(jià)太多)、節(jié)省帶寬、穩(wěn)定性高等特點(diǎn)。
Nginx的基本功能
Nginx的功能包括基本HTTP功能和擴(kuò)展功能。和Apache服務(wù)器一樣,Nginx服務(wù)器為了提供更多的功能并且能夠有效地?cái)U(kuò)展這些功能。每一個(gè)模塊都提供了一個(gè)功能,通過編譯這些功能模塊來實(shí)現(xiàn)功能的擴(kuò)展。
1、基本HTTP功能
(a)提供靜態(tài)文件和index文件,處理靜態(tài)文件,索引文件以及自動(dòng)索引,打開文件描述符緩存;
(b)使用緩存加速反向代理,反向代理加速(無緩存),簡(jiǎn)單的負(fù)載均衡和容錯(cuò);
(c)使用緩存機(jī)制加速遠(yuǎn)程FastCGI,簡(jiǎn)單的負(fù)載均衡和容錯(cuò);
(d)模塊化的結(jié)構(gòu)。過濾器包括gzipping,byte ranges,chunked responses,以及 SSI-filter。在SSI過濾器中,到同一個(gè) proxy 或者 FastCGI 的多個(gè)子請(qǐng)求并發(fā)處理;
(e)支持SSL 和 TLS SNI 支持;
(f)IMAP/POP3代理功能;
(g)使用外部 HTTP 認(rèn)證服務(wù)器重定向用戶到 IMAP/POP3 后端;
(h)使用外部 HTTP 認(rèn)證服務(wù)器認(rèn)證用戶后連接重定向到內(nèi)部的 SMTP 后端;
2、其他HTTP功能
(a)基于名稱和基于IP的虛擬服務(wù)器;
(b)支持Keep-alive和管道連接;
(c)靈活的配置和重新配置、在線升級(jí)的時(shí)候不用中斷客戶訪問的處理;
(d)訪問日志的格式,緩存日志寫入和快速日志輪循;
(e)3xx-5xx錯(cuò)誤代碼重定向;
(f)速度限制。
Nginx的基本模塊
Nginx的核心模塊包括內(nèi)核模塊和事件驅(qū)動(dòng)模塊,即:CoreModule和EventsModule;另外還有第三方模塊 HTTP內(nèi)核模塊,HttpCoreModule,它是Nginx服務(wù)器的核心模塊。
CoreModule和EventsModule模塊的配置相對(duì)于HttpCoreModule會(huì)少一些,但是它們的配置將會(huì)影響系統(tǒng)的性能,而非功能上的差異。
1、CoreModule用于控制Nginx服務(wù)器的基本功能;
2、EventsModule用于控制Nginx如何處理連接。該模塊的指令的一些參數(shù)會(huì)對(duì)應(yīng)用系統(tǒng)的性能產(chǎn)生重要的影響;
3、HttpCoreModule提供HTTP訪問Nginx服務(wù)器,該模塊是不能缺少的。
Nginx配置安裝的環(huán)境
1、yum -y install gcc* epel-release curl curl-devel mcrypt openssl openssl-devel gd gd-devel freetype freetype-devel zlib zlib-devel zip libmcrypt-devel libmcrypt pcre-devel libevent-devel ncurses-devel libxml2* mcrypt* libmcrypt* cmake gcc* lrzsz ntp telnet
2、創(chuàng)建用戶
useradd -s /sbin/nologin web
3、創(chuàng)建nginx的安裝目錄(此步驟可以省略)
mkdir -p /usr/local/nginx
chown -r web:web /usr/local/nginx
4、拷貝下載好的軟件包到/usr/src/目錄
5、解壓Nginx安裝包
tar -zxf /usr/src/tengine-2.1.2.tar.gz
cd /usr/local/tengine-2.1.2/
6、進(jìn)行檢測(cè)
./configure --prefix=/usr/local/nginx --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre
7、編譯
make
8、安裝
make install
9、啟動(dòng)nginx /usr/local/nginx/sbin/nginx
更新日志
Nginx 1.7.7 發(fā)布了,下載地址:
改進(jìn)記錄包括:
*) Change: now nginx takes into account the “Vary” header line in a
backend response while caching.
*) Feature: the “proxy_force_ranges”, “fastcgi_force_ranges”,
“scgi_force_ranges”, and “uwsgi_force_ranges” directives.
*) Feature: the “proxy_limit_rate”, “fastcgi_limit_rate”,
“scgi_limit_rate”, and “uwsgi_limit_rate” directives.
*) Feature: the “Vary” parameter of the “proxy_ignore_headers”,
“fastcgi_ignore_headers”, “scgi_ignore_headers”, and
“uwsgi_ignore_headers” directives.
*) Bugfix: the last part of a response received from a backend with
unbufferred proxy might not be sent to a client if “gzip” or “gunzip”
directives were used.
*) Bugfix: in the “proxy_cache_revalidate” directive.
Thanks to Piotr Sikora.
*) Bugfix: in error handling.
Thanks to Yichun Zhang and Daniil Bondarev.
*) Bugfix: in the “proxy_next_upstream_tries” and
“proxy_next_upstream_timeout” directives.
Thanks to Feng Gu.
*) Bugfix: nginx/Windows could not be built with MinGW-w64 gcc.
Thanks to Kouhei Sutou.
web服務(wù)器Nginx發(fā)布1.6.2。2014-09-16。上個(gè)版本2014-08-05的1.6.1 遺留穩(wěn)定版1.4.7/1.2.9/1.0.15.開發(fā)版1.7.5 修正了一個(gè)SSL相關(guān)的安全漏洞(CVE-2014-3616),以及兩個(gè)DNS可能導(dǎo)致請(qǐng)求掛起B(yǎng)ug(1.5.8引入)。
nginx開發(fā)團(tuán)隊(duì)還同步發(fā)布了nginx 1.7.0主線版本,新特性如下:
后端SSL證書驗(yàn)證
當(dāng)使用SSL后端時(shí),支持SNI(服務(wù)器名稱標(biāo)識(shí)符)
FTP 工具
FTP 工具
FTP 工具
FTP 工具
FTP 工具
FTP 工具
黑盒語音官方電腦版是一款非常好用的語音通話工具,占用空間小,運(yùn)作流暢。黑盒語音官方電腦版支持游戲內(nèi)的覆蓋和語音提示,玩家還可以創(chuàng)建專屬于自己的語音房間,隨時(shí)享受絲滑的組隊(duì)體驗(yàn),感興...
幕布是一款簡(jiǎn)單好用的思維導(dǎo)圖軟件,提供了記錄筆記、思維整理、任務(wù)管理、內(nèi)容創(chuàng)作等多項(xiàng)功能,幫助用戶有條理地組織內(nèi)容。幕布軟件是完全免費(fèi),且操作簡(jiǎn)單,即使沒有任何操作經(jīng)驗(yàn)的用戶也能快...
抖音直播伴侶電腦版是一款高效便捷的直播輔助工具,支持娛樂、游戲、電商等多種直播類型,滿足不同主播的直播需求。抖音直播伴侶電腦版打造簡(jiǎn)潔明了的界面,操作便捷,一鍵點(diǎn)擊即可開播,能夠清...
網(wǎng)易七魚集客戶服務(wù)、工單管理、智能機(jī)器人等功能于一體,可以幫助用戶高效處理客戶咨詢。網(wǎng)易七魚支持智能路由、自動(dòng)回復(fù)等功能,可以減輕人工壓力,提升服務(wù)效率與質(zhì)量,也支持多渠道接入,確...
京東咚咚商家版是專業(yè)好用的商家助手軟件,提供了在線客服、即時(shí)的消息提醒、訂單管理等多項(xiàng)功能,滿足商家不同的使用需求。京東咚咚商家版內(nèi)置多項(xiàng)實(shí)用功能,包含商家查詢訂單信息、售后服務(wù)單...
夸克網(wǎng)盤是夸克推出的云服務(wù)產(chǎn)品,提供了云存儲(chǔ)、高清看劇、文件在線解壓、PDF一鍵轉(zhuǎn)換等功能,操作輕松易上手,用戶可隨時(shí)輕松管理照片、文檔、手機(jī)資料等數(shù)據(jù)?淇司W(wǎng)盤的安全性高,有效保護(hù)...
發(fā)表評(píng)論
共0條
評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解
立即評(píng)論以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)