前言

这是一部基于Nginx新版本和云原生应用场景系统讲解Nginx的著作,是作者十余年运维经验的总结。本书从应用、运维以及与Kubernetes和微服务集成3个维度对Nginx的基础知识、工作原理、核心应用、运维管理、集成扩展等重点内容进行了全面、细致的讲解。完全以实战为导向,包含大量的配置案例和示例代码,能帮助读者快速掌握并在实际工作中熟练应用Nginx。

编辑推荐

适读人群 :本书目标群体为具有一定Linux基础的互联网行业运维人员,由于Nginx的功能涉及WEB服务、负载均衡等、微服务等多方面的应用,所以本书适合web开发、架构开发作为参考

(1)作者是资深运维专家,在国内知名互联网公司有十余年运维和架构经验。

(2)从应用、运维及与Kubernetes和微服务集成3维度讲解Nginx基础知识、工作原理、核心应用、运维管理、集成扩展

(3)以实战为导向,包含大量配置案例和示例代码。

(4)基于Nginx新版本和云原生应用场景。

通过阅读本书,你将:

熟练掌握Nginx的配置指令使用方法

了解Nginx作为Web服务的应用实现

了解Nginx对相关通信协议的处理方法

熟悉Nginx作为代理、缓存、负载均衡的应用实现

提升Nginx日常运维管理中的日志和监控管理能力

了解Nginx集群的搭建与配置管理方法

了解Nginx在Kubernetes和微服务架构中的应用实现

掌握软件的Docker化部署方法

目录简要

内容简介

Nginx是一款非常优秀的开源软件,笔者主要基于自身实际使用Nginx的经验来分享Nginx的应用和运维方法。本书在逻辑上可分为4个部分,分别为Nginx介绍、应用实战、运维管理,以及Nginx与Kubernetes、微服务的应用集成。

第一部分 Nginx介绍(第1~4章)

首先,简要分析了Nginx的架构特点及实现原理;其次,讲解了Nginx及其衍生版本Tengine、OpenResty的编译与部署;接着,全面介绍了Nginx的核心配置指令;后,讲解了动态赋值、访问控制和数据处理这3个Nginx的HTTP功能模块配置指令。 由于篇幅限制仅展示了部分内容,为不影响您的阅读,小编已整理好上传到网盘上,一键三连后,添加【小助理】获取文中对应资料哦!

第1章Nginx概述:Nginx的第一个版本发布于2004年,经过多年的发展,逐渐演变出Nginx、Nginx Plus、Tengine、OpenResty这4个被广泛应用的版本。本章分别介绍了这4个版本各自的特点,并通过对开源Nginx架构的特点及实现原理的介绍,使读者对Nginx的功能有初步的了解。

第2章Nginx编译及部署:Nginx是用C语言开发的,需要通过对源代码进行编译才能获得可运行的二进制文件。本章介绍了Nginx开源版本的编译配置参数及Tengine、OpenResty两个版本的扩展编译配置参数和所集成的模块,同时介绍了各个开源版本的编译和基于Docker的编译部署方法。

第3章Nginx核心配置指令:Nginx的配置是通过在配置文件中调整不同配置指令的指令值实现的。本章介绍了Nginx配置文件的目录结构及主配置文件nginx.conf的文件结构,并对Nginx的进程及HTTP核心配置的配置指令进行了介绍和配置举例。

第4章Nginx HTTP模块详解:Nginx 的HTTP模块配置指令主要负责HTTP请求处理的配置。本章介绍了Nginx在动态赋值、访问控制、数据处理这3个方面的配置指令和配置举例。

第二部分 应用实战(第5~8章)

分别介绍Nginx 在Web服务、代理服务、缓存服务和负载均衡等方面的应用实战,对于所涉及的每个模块,不仅详细分析了相关的技术特点,还给出了具体的配置指令和配置样例。

第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章)

首先介绍Nginx的日志配置及基于ELK的日志分析,其次讲解Nginx 的状态监控配置,以及如何利用监控工具Prometheus、Zabbix实现对Nginx的监控管理;后介绍如何基于LVS、Keepalived搭建Nginx集群负载均衡架构,以及如何结合Jenkins、GitLab和Ansible快速搭建Web化的Nginx集群配置管理框架。 由于篇幅限制仅展示了部分内容,为不影响您的阅读,小编已整理好上传到网盘上,一键三连后,添加【小助理】获取文中对应资料哦!

第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章)

分别介绍Nginx在Kubernetes、微服务架构中的应用,包括在Kubernetes中Nginx Ingress 的部署、管理与配置,以及基于OpenResty的开源微服务网关软件Kong的部署与应用。

第12章Nginx在Kubernetes中的应用:Kubernetes是Google开源的分布式容器管理系统,它实现了对容器的部署、网络管理、负载调度、节点集群和资源的扩缩容等自动化管理功能。在该服务对外发布的方案中,Nginx 以 Nginx Ingress组件的方式为Kubernetes集群的Pod应用提供了访问控制、认证管理、应用层代理、负载均衡等功能,使Kubernetes对集群中运行于容器的应用程序具有更灵活的应用层,以提供对外访问的管理能力。本章介绍了Kubernetes的相关术语及网络通信机制,读者可通过相关网络通信机制根据实际需求选择Nginx Ingress的部署方式,并通过本章介绍的配置映射和注解这两种不同的配置方式实现日常Nginx Ingress的配置管理工作。

第13章Nginx在微服务架构中的应用:近几年,微服务架构技术发展迅猛,已成为目前主流的应用架构技术。在微服务架构中,Nginx也在微服务网关等微服务的核心组件中发挥着重要的作用。本章从软件发展历史的角度介绍了对微服务架构的认识,并举例介绍了基于OpenResty的开源微服务网关软件Kong作为微服务网关的应用配置方法。

由于篇幅限制仅展示了部分内容,为不影响您的阅读,小编已整理好上传到网盘上,一键三连后添加【小助理】获取文中对应资料哦!