【Nginx入門之巨集觀總結】
前言:
專案中用到了Nginx,對應專案的Nginx瞭解的不是很多,結合公司的專案,在對Nginx系統的學習一下,本篇文章站在巨集觀的角度,對Nginx進行總結.
核心:
是什麼?
無論學習什麼知識,在i+1的基礎上,我們的學習效率會高很多,提到Nginx,可能有夥伴不太熟悉,但Tomcat/IIS,我們們大家都是比較熟悉的吧!它們都是web伺服器.
首先來說說Tomcat,Tomcat面向java語言,但是先天就是重量級的Web伺服器,而IIS只能在Windows作業系統執行Windows作為伺服器在穩定性與其他一些效能上都不如UNIX作業系統.
現在我們們來說說Nginx,Nginx和Lighttpd一樣,都是輕量級/高效能的Web伺服器.
背景
來自俄羅斯的Igor Sysoev在為Ranbler Media工作期間,使用C語言開發了Nginx,後來將程式碼開源,被廣泛應用到大流量的網站上,如騰訊/新浪/網易等訪問量巨大的網站,2011年7月,Nginx正式成立公司,立足於提供商業級Web伺服器.
為什麼選擇Nginx?
無論在專案中選擇了哪種技術,都是有目的,下面我們們來說說Nginx的優點:
更快
1.正常情況,單次請求會得到更快的響應
2.高峰期,Nginx可以比其他Web伺服器更快的響應
高擴充套件性
Nginx完全是由多個不同功能/不同層次/不同型別且耦合度極地的模組組成.修復或升級某一模組,可以專注於模組自身,並且http模組中還設計了http過濾模組,對請求結果再處理,無論是官方釋出的模組還是第三方模組都是嵌入到二進位制檔案中執行的,可以開發符合自己業務特性的定製模組.
高可靠性
Nginx的高可靠性來自於核心框架程式碼的優秀設計/模組設計的簡單性,另外官方常用的模組都非常穩定,每個worker進行相對獨立,master程式在1個worker程式出錯時可以快速"拉起"新的worker子程式.
低記憶體消耗
一般情況下,1萬個非活躍的HTTP Keep-Alive連線在Nginx中僅消耗2.5MB的記憶體,這是Nginx支援高併發連線的基礎.
單擊支援10萬以上的併發連線
Nginx支援的併發連線上限取決於記憶體,10萬遠未封頂.同時,能夠及時處理更多的併發請求和業務特點也是緊密聯絡的
熱部署
可以熱部署的原因:master管理程式與worker工作程式的分離設計,不停止服務的情況下,升級Nginx的可執行檔案,更新配置項/更新日誌檔案等功能.
最自由的BSD許可協議
BSD許可協議不只是允許使用者免費試用Nginx,還允許用在自己的專案中直接使用或修改Nginx原始碼,這是Nginx可以快速發展的強大動力.
Nginx應用
這裡闡述的是作為Web伺服器與反向代理伺服器的Nginx
反向代理:
反向代理是指代理伺服器來接受Internet上的連線請求,然後將請求轉發給內部網路中的上游伺服器,並從上游伺服器上得到的結果返回給Internet上請求連線的客戶端,此時代理伺服器對外的表現就是一個web伺服器.
Web伺服器
作為前端的伺服器直接向客戶端婷靜態檔案服務.
作為反向代理的請求流程:
總結
本篇部落格就總結到這裡了,下篇部落格持續更新!感謝讀者的閱讀.
相關文章
- 【jQuery巨集觀總結】jQuery
- NGINX巨集觀手記Nginx
- 【資料結構之巨集觀總結 】資料結構
- 【MyBatis學習之巨集觀總結】MyBatis
- 2018,工作巨集觀總結
- 【資料結構】-巨集觀認識資料結構
- 輕鬆入門機器學習之概念總結(一)機器學習
- React入門總結React
- vue 入門總結Vue
- Nuxt入門總結UX
- 無人車與巨集觀交通:從微觀模型到巨集觀模型模型
- 測試入門總結
- Jenkins入門總結Jenkins
- ODA入門指南總結
- pyFlink 入門總結
- Nginx 入門Nginx
- Nginx入門Nginx
- nginx總結Nginx
- 對PostgreSQL資料庫結構的巨集觀理解SQL資料庫
- HTTPS入門級總結HTTP
- docker入門知識總結Docker
- JavaScript入門⑧-事件總結大全JavaScript事件
- ElasticSearch極簡入門總結Elasticsearch
- 自考之資料結構導論第一遍巨集觀把控資料結構
- Nginx快速入門Nginx
- nginx 基本入門Nginx
- Nginx入門指南Nginx
- 中巨集立達離職總結
- Nginx使用總結Nginx
- Java SPI機制總結系列之開發入門例項Java
- 程式碼審計入門總結
- koa2入門使用總結
- Docker快速入門總結筆記Docker筆記
- BootStrap基礎入門概述總結boot
- 《jQueryMobile入門經典》——2.4 總結jQuery
- Java集合系列之Collection與Map介面巨集觀把控Java
- Nginx 入門介紹Nginx
- Nginx入門學習Nginx