Linux基礎(chǔ)教程之初識(shí)Nginx
什么是nginx?nginx is a free,open-source,high-performance http server and reverse proxy,as well as an IMAP/POP3 proxy.通俗的說(shuō)Nginx提供web服務(wù),反向代理,以及IMAP/POP3代理,那么什么是web服務(wù)?反向代理?IMAP/POP3代理?
web服務(wù):服務(wù)端通過(guò)網(wǎng)絡(luò)可以提供給客戶端所請(qǐng)求的資源,
反向代理:代表資源服務(wù)器來(lái)回應(yīng)客戶端的請(qǐng)求(或者正向代理的請(qǐng)求),至于資源服務(wù)器為什么不自己回應(yīng),想想被告與被告律師的關(guān)系(被告的律師看做反向代理,被告是什么?自己猜吧(ˇ?ˇ) 想~),正向代理是什么?原告的代理律師就是正向代理)
IMAP/POP3:是一種stream傳輸協(xié)議,常常被用來(lái)做一些郵件傳輸
IMAP:Internet Mail Access Protocol 是一種交互式的郵件郵件傳輸協(xié)議,交互式說(shuō)的就是客戶端可以和服務(wù)端針對(duì)郵件的各種操作同步,一份郵件,客戶端有,服務(wù)端也有,客戶端有什么操作會(huì)同步到服務(wù)端,反之亦然。
POP3:Post Office Protocol 3郵件傳輸協(xié)議相比IMAP協(xié)議只是服務(wù)器不保留郵件,一旦給了客戶端,自行刪除對(duì)應(yīng)的郵件,客戶端對(duì)郵件的各種操作與服務(wù)器無(wú)關(guān)
好煩:都是文字一點(diǎn)可讀性都沒(méi)有,找個(gè)圖片吧
IMAP/POP3
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Porxy&reverseProxy
(注意代理的概念只要把握準(zhǔn)正向和反向都是以客戶端為參考的,從客戶端出的是正向,客戶端接受的是反向)
扯了半天其他的東西,現(xiàn)在是nginx的時(shí)間:
學(xué)習(xí)一個(gè)東西吾以為了解其框架架構(gòu),最初是出于什么目的設(shè)計(jì),為解決什么問(wèn)題,以及怎樣設(shè)計(jì)是最重要的,所以下面的重點(diǎn)就是這些:
為什么會(huì)出現(xiàn)nginx或者其他相似功能的web服務(wù),一方面是因?yàn)閔ttp的歷史局限型,而最重要的還是C10K問(wèn)題,高并發(fā)訪問(wèn),好吧什么歷史局限型,說(shuō)的通俗點(diǎn)就是httpd(apache)老了不太能適應(yīng)現(xiàn)在的網(wǎng)絡(luò)環(huán)境了,畢竟人家Apache是95年的東西了,現(xiàn)代的計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)和當(dāng)時(shí)遠(yuǎn)遠(yuǎn)不同了,倒不如說(shuō)現(xiàn)在還大量使用httpd已經(jīng)是一個(gè)小奇跡了(之所以不說(shuō)奇跡,就擔(dān)心較真的人太過(guò)在意,畢竟做it較真的人還是很多大的,畢竟我就是一個(gè)較真的人),還有一個(gè)問(wèn)題C10K,什么意思?The C10k problem is the problem of optimising network sockets to handle a large number of clients at the same time.The name C10k is a numeronym for concurrently handling ten thousand connections.Apache的致命缺陷就是同時(shí)不可以處理一萬(wàn)個(gè)請(qǐng)求(建立套接字處理),對(duì)電商站點(diǎn)的影響,自己(╯▽╰)
Nginx戰(zhàn)斗民族設(shè)計(jì)的一款輕量級(jí)的web服務(wù),免費(fèi)開(kāi)源,高性能:
nginxArchitecture
一個(gè)master進(jìn)程負(fù)責(zé)生產(chǎn)各種子進(jìn)程,為什么要說(shuō)是各種?緣由在于其每個(gè)子進(jìn)程所具有的功能可以是nginx所有功能的一部分,也可以是全部。這個(gè)在于我們背鍋俠的設(shè)置了,當(dāng)然nginx的一些基本功能,每個(gè)子進(jìn)程是必須要有的。看到連接后端的HTTP,F(xiàn)astCGI以及memcache了么,這些都是連接后端服務(wù)器(也叫Backend)的協(xié)議,HTTP協(xié)議,F(xiàn)astCGI協(xié)議以及memcached分布式緩存系統(tǒng)。