最全面的Nginx工作原理讲解,Nginx学习笔记——来自动力节点
Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計(jì)師IgorSysoev所開發(fā),供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler(俄文:Рамблер)使用。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好。
Nginx工作原理及安裝配置
Nginx由內(nèi)核和模塊組成,其中,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔,完成的工作也非常簡(jiǎn)單,僅僅通過(guò)查找配置文件將客戶端請(qǐng)求映射到一個(gè)location block(location是Nginx配置中的一個(gè)指令,用于URL匹配),而在這個(gè)location中所配置的每個(gè)指令將會(huì)啟動(dòng)不同的模塊去完成相應(yīng)的工作。
Nginx的模塊從結(jié)構(gòu)上分為,核心模塊、基礎(chǔ)模塊和第三方模塊:
- 核心模塊:HTTP模塊、EVENT模塊和MAIL模塊
- 基礎(chǔ)模塊:HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊,
- 第三方模塊:HTTP Upstream Request Hash模塊、Notice模塊和HTTP Access Key模塊。
Nginx的高并發(fā)得益于其采用了epoll模型,與傳統(tǒng)的服務(wù)器程序架構(gòu)不同,epoll是linux內(nèi)核2.6以后才出現(xiàn)的。Nginx采用epoll模型,異步非阻塞,而Apache采用的是select模型
Select特點(diǎn):select選擇句柄的時(shí)候,是遍歷所有句柄,也就是說(shuō)句柄有事件響應(yīng)時(shí),
select需要遍歷所有句柄才能獲取到哪些句柄有事件通知,因此效率是非常低。
epoll的特點(diǎn):epoll對(duì)于句柄事件的選擇不是遍歷的,是事件響應(yīng)的,就是句柄上事件來(lái)就馬上選擇出來(lái),不需要遍歷整個(gè)句柄鏈表,因此效率非常高。
動(dòng)力節(jié)點(diǎn)的Nginx教程,將全面講授Nginx的配置與使用、企業(yè)應(yīng)用實(shí)踐(靜態(tài)代理、負(fù)債均衡、動(dòng)靜分離、虛擬主機(jī)等),可以快速地掌握Nginx這樣一款高性能的web反向代理服務(wù)器。
- Nginx應(yīng)用實(shí)戰(zhàn)視頻教程
https://www.bilibili.com/video/BV11V411C7r9
- Nginx應(yīng)用實(shí)戰(zhàn)教程配套資料下載
http://www.bjpowernode.com/?csdn
適用人群
高性能Web服務(wù)器維護(hù)人員,對(duì)互聯(lián)網(wǎng)服務(wù)器感興趣的程序開發(fā)者。
Nginx學(xué)習(xí)前提
學(xué)習(xí)本教程前,我們假定您已經(jīng)能夠搭Nginx服務(wù)器,并能夠進(jìn)行簡(jiǎn)單常規(guī)的操作。
Nginx基本特點(diǎn)
- 處理靜態(tài)文件,索引文件以及自動(dòng)索引;打開文件描述符緩沖。
- 無(wú)緩存的反向代理加速,簡(jiǎn)單的負(fù)載均衡和容錯(cuò)。
- FastCGI,簡(jiǎn)單的負(fù)載均衡和容錯(cuò)。
- 模塊化的結(jié)構(gòu)。包括gzipping,byte ranges,chunked responses,以及SSI-filter等f(wàn)ilter。如果由FastCGI或其它代理服務(wù)器處理單頁(yè)中存在的多個(gè)SSI,則這項(xiàng)處理可以并行運(yùn)行,而不需要相互等待。
- 支持SSL和TLSSNI。
1.Nginx:Nginx介紹
2.Nginx:反向代理
3.Nginx:正向代理
4.Nginx:安裝-安裝前的準(zhǔn)備
5.Nginx:安裝
6.Nginx:命令-啟動(dòng)Nginx
7.Nginx:命令-關(guān)閉Nginx
8.Nginx:命令-其他命令
9.Nginx:配置文件解讀-基礎(chǔ)配置
10.Nginx:配置文件解讀-工作模式和鏈接數(shù)
11.Nginx:配置文件解讀-HTTP服務(wù)器
12.Nginx:部署靜態(tài)Web服務(wù)器
13.Nginx:負(fù)載均衡-硬件和軟件負(fù)載
14.Nginx:負(fù)載均衡部署myweb項(xiàng)目
15.Nginx:負(fù)載均衡策略介紹
16.Nginx:負(fù)載均衡策略實(shí)現(xiàn)
17.Nginx:負(fù)載均衡-其他配置
18.Nginx:靜態(tài)代理
19.Nginx:動(dòng)靜分離-部署p2p項(xiàng)目
20.Nginx:動(dòng)靜分離-p2p項(xiàng)目負(fù)載均衡
21.Nginx:動(dòng)靜分離-p2p項(xiàng)目實(shí)現(xiàn)動(dòng)靜分離
22.Nginx:虛擬主機(jī)應(yīng)用場(chǎng)景
23.Nginx:虛擬主機(jī)部署多城市站點(diǎn)
總結(jié)
以上是生活随笔為你收集整理的最全面的Nginx工作原理讲解,Nginx学习笔记——来自动力节点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三、多线程与上厕所
- 下一篇: 服务器 启动多个nginx_Nginx工