一、Nginx简介
1、什么是Nginx?
1 Nginx是一个高效、可靠的web服务器和反向代理中间件。 (高效:支持海量并发请求,可靠:可靠运行的)
2、Nginx地位?
在https://w3techs.com可以看到。
3、Nginx是开源的。
4、Nginx个人学习时,可能存在以下问题
(1)学习Nginx过于碎片化,不够系统完整 (2)配置方式主要是网上简单搜集,然后照搬放入项目中,实际根本不理解 (3)没有系统的去了解Nginx 的原理 (4)对于相关产生的隐患并未合理分析,以至于出现问题无从下手
5、解决问题的方式
(1)根据多个实例进行实际场景演练 (2)全面了解Nginx的配置语法 (3)原理掌握扎实,但是,出现问题无从下手,要从实战开始演练 (4)核心技术理解不透彻,层次化理解Nginx (5)详细学习Nginx
6、总结归纳得到的知识
(1)数十个Nginx配置场景,输入理解应用代理服务,动态缓存,动静分离,负载均衡 (2)百分之九十以上的Nginx核心模块配置 (3)基于常用企业的场景
7、解决问题
(1)Nginx应用层的安全防护 a、对sql注入防攻击 b、对请求的访问控制 c、对请求的频率控制 d、对防爬虫 (2)基于Nginx的中间件架构性能优化问题 a、http性能压测 b、性能瓶颈分析 c、系统性能优化 d、基于Nginx的性能配置优化
8、技术原理学习
http协议原理
linux系统原理
二、学习体系
1、基础学习
(1)快速安装 (2)配置语法 (3)默认模块(默认安装模块及其作用) (4)Nginx的log(Nginx的日志及其格式) (5)Nginx访问限制 a、Http请求和链接 b、请求限制与连接限制 c、access模块配置语法 d、请求限制局限性 e、基本安全认证 f、auth模块配置语法 h、安全认证局限性
2、实战演练
(1)静态资源Web服务 a、什么是静态资源 b、静态资源服务场景 c、静态资源服务配置 d、客户端缓存 e、静态资源压缩 f、防盗链 g、跨域访问 (2)代理服务 (3)负载均衡 (4)缓存服务
3、高级学习
(1)动静分离 (2)rewrite规则 (3)进阶模块配置 (4)HTTPS服务 a、HTTPS协议优劣 b、配置语法 c、Nginx的HTTPS服务配置 d、苹果要求的https服务配置 (5)Nginx与LUA开发
4、架构学习
(1)常见问题处理手段 (2)中间件性能优化 a、如何调试性能优化 b、性能优化影响因素 c、操作系统性能优化 d、Nginx性能优化 (3)Nginx与安全 (4)新版本特性1.12 (5)中间件架构设计