




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Nginx詳解講師:王承偉Nginx是什么代理服務(wù)器:一般是指局域網(wǎng)內(nèi)部的機(jī)器通過(guò)代理服務(wù)器發(fā)送請(qǐng)求到互聯(lián)網(wǎng)上的服務(wù)器,代理服務(wù)器一般作用在客戶(hù)端。應(yīng)用比如:GoAgent,翻墻神器.反向代理服務(wù)器:在服務(wù)器端接受客戶(hù)端的請(qǐng)求,然后把請(qǐng)求分發(fā)給具體的服務(wù)器進(jìn)行處理,然后再將服務(wù)器的響應(yīng)結(jié)果反饋給客戶(hù)端。Nginx就是其中的一種反向代理服務(wù)器軟件。Nginx:Nginx (engine x) ,Nginx (“engine x”) 是俄羅斯人Igor Sysoev(塞索耶夫)編寫(xiě)的一款高性能的 HTTP 和反向代理服務(wù)器。也是一個(gè)IMAP/POP3/SMTP代理服務(wù)器;也就是說(shuō),Nginx本身就
2、可以托管網(wǎng)站,進(jìn)行HTTP服務(wù)處理,也可以作為反向代理服務(wù)器使用。用戶(hù)A始終認(rèn)為它訪問(wèn)的是原始服務(wù)器B而不是代理服務(wù)器Z,但實(shí)用際上反向代理服務(wù)器接受用戶(hù)A的應(yīng)答,從原始資源服務(wù)器B中取得用戶(hù)A的需求資源,然后發(fā)送給用戶(hù)A。由于防火墻的作用,只允許代理服務(wù)器Z訪問(wèn)原始資源服務(wù)器B。盡管在這個(gè)虛擬的環(huán)境下,防火墻和反向代理的共同作用保護(hù)了原始資源服務(wù)器B,但用戶(hù)A并不知情。 Nginx的應(yīng)用現(xiàn)狀Nginx 已經(jīng)在俄羅斯最大的門(mén)戶(hù)網(wǎng)站 Rambler Media( )上運(yùn)行了3年時(shí)間,同時(shí)俄羅斯超過(guò)20%的虛擬主機(jī)平臺(tái)采用Nginx作為反向代理服務(wù)器。在國(guó)內(nèi),已經(jīng)有 淘寶、新浪博客、新浪播客、網(wǎng)易
3、新聞、六間房、 、Discuz!、水木社區(qū)、豆瓣、YUPOO、海內(nèi)、迅雷在線 等多家網(wǎng)站使用 Nginx 作為Web服務(wù)器或反向代理服務(wù)器。Nginx的特點(diǎn)跨平臺(tái):Nginx 可以在大多數(shù) Unix like OS編譯運(yùn)行,而且也有Windows的移植版本。配置異常簡(jiǎn)單,非常容易上手。配置風(fēng)格跟程序開(kāi)發(fā)一樣,神一般的配置非阻塞、高并發(fā)連接:數(shù)據(jù)復(fù)制時(shí),磁盤(pán)I/O的第一階段是非阻塞的。官方測(cè)試能夠支撐5萬(wàn)并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中跑到23萬(wàn)并發(fā)連接數(shù).(這得益于Nginx使用了最新的epoll模型)事件驅(qū)動(dòng):通信機(jī)制采用epoll模型,支持更大的并發(fā)連接。master/worker結(jié)構(gòu):一個(gè)ma
4、ster進(jìn)程,生成一個(gè)或多個(gè)worker進(jìn)程內(nèi)存消耗?。禾幚泶蟛l(fā)的請(qǐng)求內(nèi)存消耗非常小。在3萬(wàn)并發(fā)連接下,開(kāi)啟的10個(gè)Nginx 進(jìn)程才消耗150M內(nèi)存(15M*10=150M) 成本低廉:Nginx為開(kāi)源軟件,可以免費(fèi)使用。而購(gòu)買(mǎi)F5 BIG-IP、NetScaler等硬件負(fù)載均衡交換機(jī)則需要十多萬(wàn)至幾十萬(wàn)人民幣內(nèi)置的健康檢查功能:如果 Nginx Proxy 后端的某臺(tái) Web 服務(wù)器宕機(jī)了,不會(huì)影響前端訪問(wèn)。節(jié)省帶寬:支持 GZIP 壓縮,可以添加瀏覽器本地緩存的 Header 頭。穩(wěn)定性高:用于反向代理,宕機(jī)的概率微乎其微Nginx的不為人知的特點(diǎn)nginx代理和后端web服務(wù)器間無(wú)需
5、長(zhǎng)連接;接收用戶(hù)請(qǐng)求是異步的,即先將用戶(hù)請(qǐng)求全部接收下來(lái),再一次性發(fā)送后后端web服務(wù)器,極大的減輕后端web服務(wù)器的壓力發(fā)送響應(yīng)報(bào)文時(shí),是邊接收來(lái)自后端web服務(wù)器的數(shù)據(jù),邊發(fā)送給客戶(hù)端的網(wǎng)絡(luò)依賴(lài)型低。NGINX對(duì)網(wǎng)絡(luò)的依賴(lài)程度非常低,理論上講,只要能夠ping通就可以實(shí)施負(fù)載均衡,而且可以有效區(qū)分內(nèi)網(wǎng)和外網(wǎng)流量支持服務(wù)器檢測(cè)。NGINX能夠根據(jù)應(yīng)用服務(wù)器處理頁(yè)面返回的狀態(tài)碼、超時(shí)信息等檢測(cè)服務(wù)器是否出現(xiàn)故障,并及時(shí)返回錯(cuò)誤的請(qǐng)求重新提交到其它節(jié)點(diǎn)上Nginx的內(nèi)部(進(jìn)程)模型Nginx是如何處理一個(gè)請(qǐng)求首先,nginx在啟動(dòng)時(shí),會(huì)解析配置文件,得到需要監(jiān)聽(tīng)的端口與ip地址,然后在nginx
6、的master進(jìn)程里面,先初始化好這個(gè)監(jiān)控的socket(創(chuàng)建socket,設(shè)置addrreuse等選項(xiàng),綁定到指定的ip地址端口,再listen),然后再fork(一個(gè)現(xiàn)有進(jìn)程可以調(diào)用fork函數(shù)創(chuàng)建一個(gè)新進(jìn)程。由fork創(chuàng)建的新進(jìn)程被稱(chēng)為子進(jìn)程 )出多個(gè)子進(jìn)程出來(lái),然后子進(jìn)程會(huì)競(jìng)爭(zhēng)accept新的連接。此時(shí),客戶(hù)端就可以向nginx發(fā)起連接了。當(dāng)客戶(hù)端與nginx進(jìn)行三次握手,與nginx建立好一個(gè)連接后,此時(shí),某一個(gè)子進(jìn)程會(huì)accept成功,得到這個(gè)建立好的連接的socket,然后創(chuàng)建nginx對(duì)連接的封裝,即ngx_connection_t結(jié)構(gòu)體。接著,設(shè)置讀寫(xiě)事件處理函數(shù)并添加讀寫(xiě)事
7、件來(lái)與客戶(hù)端進(jìn)行數(shù)據(jù)的交換。最后,nginx或客戶(hù)端來(lái)主動(dòng)關(guān)掉連接,到此,一個(gè)連接就壽終正寢了。 當(dāng)然,nginx也是可以作為客戶(hù)端來(lái)請(qǐng)求其它server的數(shù)據(jù)的(如upstream模塊),此時(shí),與其它server創(chuàng)建的連接,也封裝在ngx_connection_t中。作為客戶(hù)端,nginx先獲取一個(gè)ngx_connection_t結(jié)構(gòu)體,然后創(chuàng)建socket,并設(shè)置socket的屬性( 比如非阻塞)。然后再通過(guò)添加讀寫(xiě)事件,調(diào)用connect/read/write來(lái)調(diào)用連接,最后關(guān)掉連接,并釋放ngx_connection_t。 Nginx典型的應(yīng)用場(chǎng)景Nginx的應(yīng)用到官網(wǎng)下載Window
8、s版本,下載地址: 解壓到磁盤(pán)任一目錄修改配置文件:具體參考備注。啟動(dòng)服務(wù):直接運(yùn)行nginx.exe,缺點(diǎn)控制臺(tái)窗口關(guān)閉,服務(wù)關(guān)閉。守護(hù)進(jìn)程的方式啟動(dòng):start nginx.exe停止服務(wù):nginx -s stop重新加載配置:nginx -s reloadNginx常見(jiàn)配置說(shuō)明(1)worker_processes 8;#nginx進(jìn)程數(shù),建議設(shè)置為等于CPU總核心數(shù)worker_connections 65535;#單個(gè)進(jìn)程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù))client_header_buffer_size 32k; #上傳文件大小限制large_client_header_b
9、uffers 4 64k; #設(shè)定請(qǐng)求緩client_max_body_size 8m; #設(shè)定請(qǐng)求緩autoindex on; #開(kāi)啟目錄列表訪問(wèn),合適下載服務(wù)器,默認(rèn)關(guān)閉。tcp_nopush on; #防止網(wǎng)絡(luò)阻塞tcp_nodelay on; #防止網(wǎng)絡(luò)阻塞keepalive_timeout 120; #長(zhǎng)連接超時(shí)時(shí)間,單位是秒gzip on; #開(kāi)啟gzip壓縮輸出gzip_min_length 1k; #最小壓縮文件大小gzip_buffers 4 16k; #壓縮緩沖區(qū)gzip_http_version 1.0; #壓縮版本(默認(rèn)1.1,前端如果是squid2.5請(qǐng)使用1.0)
10、p_level 2; #壓縮等級(jí)Nginx常見(jiàn)配置說(shuō)明(2)upstream #upstream的負(fù)載均衡,weight是權(quán)重,可以根據(jù)機(jī)器配置定義權(quán)重。weigth參數(shù)表示權(quán)值,權(quán)值越高被分配到的幾率越大。server 21:80 weight=3;server 22:80 weight=2;server 23:80 weight=3;Nginx常見(jiàn)配置說(shuō)明(3)#虛擬主機(jī)的配置server#監(jiān)聽(tīng)端口listen 80;#域名可以有多個(gè),用空格隔開(kāi)server_name ;index index.html index.htm index.php;root /data/www/ha97;location .*.(php|php5)?$fastcgi_pass :9000;fastcgi_i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 船舶貨物滲漏險(xiǎn)重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 二零二五版林地承包合同
- 汽車(chē)駕校培訓(xùn)合作協(xié)議書(shū)范文
- 建設(shè)施工合同解除通知函
- 自制飲料采購(gòu)合同范本
- 2025年成人高等學(xué)校招生考試《語(yǔ)文》模擬沖刺題庫(kù):詩(shī)歌鑒賞能力專(zhuān)項(xiàng)訓(xùn)練試題
- 2025年安全生產(chǎn)考試題庫(kù):安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控現(xiàn)場(chǎng)管理試題
- 采光頂施工合同范本
- 施工外協(xié)合同范本
- 車(chē)庫(kù)出租合同范本押金
- 2025工程監(jiān)理聘用合同范例
- 自媒體運(yùn)營(yíng)創(chuàng)業(yè)計(jì)劃書(shū)
- 過(guò)賬合同協(xié)議范文
- 2025年起重機(jī)指揮Q1特種作業(yè)考試復(fù)習(xí)(重點(diǎn))題庫(kù)(濃縮300題)
- 職業(yè)能力測(cè)驗(yàn)考試試卷含答案
- 基于區(qū)塊鏈的數(shù)據(jù)共享與存儲(chǔ)機(jī)制-全面剖析
- 2025年上半年山東青島西海岸新區(qū)“優(yōu)才”專(zhuān)業(yè)化干部選聘40人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 非暴力溝通(完整版)
- 廣東省省級(jí)政務(wù)信息化服務(wù)預(yù)算編制標(biāo)準(zhǔn)(運(yùn)維服務(wù)分冊(cè))
- JJF 1071-2010國(guó)家計(jì)量校準(zhǔn)規(guī)范編寫(xiě)規(guī)則
- 中興交換機(jī)簡(jiǎn)明配置教程
評(píng)論
0/150
提交評(píng)論