開篇閒談:
在網際網路與我們生活已密不可分的今天,大規模、高性能的網站架構技術已成為每個網際網路技術人員的必備技能。Nginx作為款開源的Web伺服器軟體,因其具有性能穩定、高並發、低內存耗用、高性能的處理能力等特點,而被廣泛應用到國內外各網際網路廠商的實際生產架構中。由於網際網路技術迭代非常快,雲計算、微服務等新技術層出不窮,Nginx也一 直 處於活躍開發的狀態,並在新版本中增加了 很多強大的功能,與這些新技術緊密集成。同時基於其開源版本衍生出來的OpenResty和淘寶的Tengine等軟體也根據自身需求提供了優秀的擴展功能,滿足了雲計算、微服務等各種技術的應用需求,並在實際生產環境中得到了廣泛應用。
作為一款Web伺服器軟體,Nginx實現了Web伺服器的基本功能,用戶通過簡單的配置指令就可以快速完成Web伺服器的搭建。它還是網絡通信協議處理軟體,支持TCP/UDP、 HTTP、HTTP/2、gRPC、 FastCGI、SCGI、uWSGI、 WebDAV等協議的處理,並實現了相應通信協議的請求解析、長連接、代理轉發、負載均衡、會話保持等網際網路架構中常見的應用功能。同時,它還是一款高並發服務軟體,其採用的固定數量的多進程模型、事件驅動處理機制、工作流處理方式及模塊化架構等軟體開發設計,已成為高並發服務軟體開發的典範。
Nginx自誕生至今已有十幾年時間,雖然相關資料很多,但國內可獲得的資料很多是直接翻譯自官方文檔,這些資料讓讀者只是停留在知其然而不知其所以然的層面,即便有深入講解某一功能的資料, 也僅能讓讀者管中窺豹,而無法全面了解Nginx的功能並在實際工作中熟練應用。市面上的圖書或偏重於Nginx伺服器的搭建,或偏重於Nginx的源碼解析,同時Nginx的新版本及雲計算、微服務等新技術迭代較快,這就導致市面上介紹Nginx最新技術實際應用及運維管理的資料稀少。而Nginx的用戶只有理解了Nginx的各項指令參數的功用,才能熟練對Nginx的各種功能進行靈活組合,以使其發揮最高的性能,進而在實際工作中解決各種問題。
鑑於以上原因,今天小編給大家推薦一本資深運維專家10餘年經驗總結,從應用、運維以及與Kubernetes和微服務集成3個維度幫你深入理解Nginx運維實戰的書籍,分別從Nginx介紹、應用實戰、運維管理及與Kubernetes和微服務的應用集成4個部分來介紹Nginx的特點及運維管理實戰經驗,力求給從事網際網路技術工作的讀者帶來幫助。
通過閱讀本書,你將:
●熟練掌握Nginx的配置指令使用方法
●了解Nginx作為Web服務的應用實現
●了解Nginx對相關通信協議的處理方法
●熟悉Nginx作為代理、緩存、負載均衡的應用實現
●提升Nginx日常運維管理中的日誌和監控管理能力
●了解Nginx集群的搭建與配置管理方法
●了解Nginx在Kubernetes和微服務架構中的應用實現
●掌握軟體的Docker化部署方法
目錄:
由於文章篇幅限制,只能在這裡給大家展示目錄及部分內容,有需要獲取完整文檔的鐵鐵,只需要:轉發+評論,關注我之後私信100%免費領取口令「資料」或「學習」即可。
第一部分Nginx介紹 (第1~4章)
第1章Nginx概述
Nginx的第一個版本發 布於2004年,經過多年的發展,逐漸演變出Nginx、Nginx Plus、Tengine、 OpenResty這4個被廣泛應用的版本。本章分別介紹了這4個版本各自的特點,並通過對開源Ng inx架構的特點及實現原理的介紹,使讀者對Ngi nx的功能有初步的了解。
第2章Nginx編譯及部署
Nginx是用C語言開發的,需要通過對原始碼進行編譯才能獲得可運行的二進位文件。本章介紹了Ngi nx開源版本的編譯配置參數及Tengine、OpenResty兩個版本的擴展編譯配置參數和所集成的模塊,同時介紹了各個開源版本的編譯和基於Docker的編譯部署方法。
第3章Nginx核心配置指令
Nginx的配置是通過在配置文件中調整不同配置指令的指令值實現的。本章介紹了Ngi nx配置文件的目錄結構及主配置文件nginx. conf的文件結構,並對Ngi nx的進程及HTTP核心配置的配置指令進行了介紹和配置舉例。
第4章Nginx HTTP模塊詳解
Nginx的HTTP模塊配置指令主要負責HTTP請求處理的配置。本章介紹了Nginx在動態賦值、訪問控制、數據處理這3個方面的配置指令和配置舉例。
第二部分應用實戰(第5~8章)
第5章Nginx Web服務應用實戰
Nginx的一個基本功能是作為Web伺服器提供HTTP服務,它支持對靜態頁面、動態腳本頁面、多媒體等文件的響應和處理。本章通過靜態文件伺服器、HTTPS安全伺服器、PHP網站搭建、Python網站搭建等實戰案例,介紹了Nginx作為Web服務的應用實戰。
第6章Nginx代理服務應用實戰
Nginx支持HTTP、TCP、gRPC等多種協議的代理,通過上述代理功能,後端伺服器可實現更靈活安全的部署。本章通過實戰案例介紹了Nginx代理相關配置指令的使用方法及需要關注的客戶端源IP問題的解決方案。
第7章Nginx緩存服務應用實戰
內容緩存是加速用戶訪問的常用技術。本章介紹了Nginx緩存模塊的配置指令,並通過客戶端緩存、代理緩存、鏡像緩存及Memcached集成等應用場景配置案例,介紹了Nginx作為緩存伺服器的應用實戰。
第8章Nginx負載均衡應用實戰
Nginx通過上遊模塊與代理模塊共同實現了對後端伺服器的訪問負載功能,Nginx支持HTTP、TCP/UDP、gRPC、 FastCGI、 uWSGI、SCGI、Memcached等協議的反向代理。本章詳細介紹了Nginx負載均衡相關的配置指令和官方自帶的負載均衡算法及實現原理。
第三部分運維管理(第9~11章)
第9章Nginx日誌管理
Nginx的日誌分為訪問日誌和錯誤日誌兩種。日誌的收集和分析是日常運維工作的重要內容,日誌不僅可以幫助運維工程師排查Nginx的問題及優化Nginx的性能,還可以通過與ELK集成為其代理的網站應用提供安全、性能、可用性及運行的PV/UV等方面的數據,通過對這些數據進行不同維度的分析,可以了解如何提升網站應用的運維能力。
第10章Nginx 監控配置及管理
在Nginx的日常運維管理工作中,Nginx的監控管理是一項重要的工作,但開源版本Nginx自帶的監控數據採集能力相對較弱。本章介紹了開源Nginx與第三方模塊集成的方法,這些方法增強了Nginx的監控數據採集能力。本章還介紹了目前流行的監控工具Prometheus對Nginx伺服器的監控、告警方法。另外還舉例介紹了監控工具Zabbix獲取Prometheus Exporter數據,以便在運維管理工作中實現統一化監控管理的方法。
第11章Nginx集群負載與配置管理
高業務量的網際網路應用架構中,通常都是通過多組Nginx集群實現後端不同應用服務集群負載均衡的,本章介紹了基於Keepalived的Nginx集群的多層負載架構搭建,並舉例介紹了通過現有的開源軟體Jenkins、GitLab和Ansible組合,快速搭建一套Web化的Nginx集 群配置管理框架的方法。
第四部分Nginx 與Kubernetes、微服務的應用集成(第12~13章)
第12章Nginx在Kubernetes中的應用
Kubernetes是Google開源的分布式容器管理系統,它實現了對容器的部署、網絡管理、負載調度、節點集群和資源的擴縮容等自動化管理功能。在該服務對外發布的方案中,Nginx 以Nginx Ingress組件的方式為Kubernetes集群的Pod應用提供了訪問控制、認證管理、應用層代理、負載均衡等功能,使Kubernetes對集群中運行於容器的應用程式具有更靈活的應用層,以提供對外訪問的管理能力。本章介紹了Kubernetes的相關術語及網絡通信機制,讀者可通過相關網絡通信機制根據實際需求選擇NginxIngress的部署方式,並通過本章介紹的配置映射和註解這兩種不同的配置方式實現日常Nginx Ingress的配置管理工作。
第13章Nginx在微服務架構中的應用
近幾年,微服務架構技術發展迅猛,已成為目前主流的應用架構技術。在微服務架構中,Nginx也在微服務網關等微服務的核心組件中發揮著重要的作用。本章從軟體發展歷史的角度介紹了對微服務架構的認識,並舉例介紹了基於OpenResty的開源微服務網關軟體Kong作為微服務網關的應用配置方法。
適讀人群 :本書目標群體為具有一定Linux基礎的網際網路行業運維人員,由於Nginx的功能涉及WEB服務、負載均衡等、微服務等多方面的應用,所以本書適合web開發、架構開發作為參考
(1)作者是資深運維專家,在國內知名網際網路公司有十餘年運維和架構經驗。
(2)從應用、運維及與Kubernetes和微服務集成3維度講解Nginx基礎知識、工作原理、核心應用、運維管理、集成擴展
(3)以實戰為導向,包含大量配置案例和示例代碼。
(4)基於Nginx新版本和雲原生應用場景。
領取文章中這份阿里專家總結的643頁Nginx實戰文檔,只需要:
——對文章將進行轉發+評論,關注我之後私信100%免費領取口令「學習」或「資料」即可。
若私信未回復
關注訂閱號 願天堂沒有BUG 即可