本文旨在帮助大家了解Nginx核心知识,包括Nginx基础、核心配置详解、高级配置和反向代理功能及系统参数优化等内容,以图解的形式让你快速掌握,建议收藏学习。
本文将从以下几个部分进行详解(由于内容过多,仅展示部分内容):
- Web服务基础介绍
- Nginx基础
- Nginx核心配置详解
- Nginx高级配置
- Nginx Rewrite相关功能
- Nginx反向代理功能
- 系统参数优化
- LNMP项目实战-Wordpress站点搭建
Nginx基础知识
Nginx是一款开源的、高性能的HTTP和反向代理器、邮件代理服务器,以及TCP/UDP代理。
Nginx是多进程组织模型,而且是一个由Master主进程和Worker工作进程组成。
主进程的功能:
- 读取Nginx配置文件并验证其有效性和正确性
- 建立、绑定和关闭socker连接
- 按照配置申城、管理和结束工作进程
- 接受外界指令,比如重启、升级及推出服务器等指令
- 不中断服务,实现平滑升级,重启服务并应用新的配置
- 开启日志文件,获取文件描述符
- 不终端服务,实现平滑升级,升级失败进行回滚处理
- 编译和处理perl脚本
工作进程的功能:
-
接受处理客⼾的请求
-
将请求以此送⼊各个功能模块进⾏处理
-
IO调⽤,获取响应数据
-
与后端服务器通信,接收后端服务器的处理结果
-
缓存数据,访问缓存索引,查询和调⽤缓存数据
-
发送请求结果,响应客⼾的请求
-
接收主程序指令,⽐如重启、升级和退出等
Nginx核心配置详解
基于不同的IP、不同的端⼝以及不⽤得域名实现不同的虚拟主机,依赖于核⼼模块ngx_http_core_module实现。
新建一个Mobile web站点:
location的详细使⽤:
Nginx四层访问控制:
访问控制基于模块ngx_http_access_module实现,可以通过匹配客⼾端源IP地址进⾏限制。
检测文件是否存在:
try_fifiles会按顺序检查⽂件是否存在,返回第⼀个找到的⽂件或⽂件夹(结尾加斜线表⽰为⽂件夹),如果所有⽂件或⽂件夹都找不到,会进⾏⼀个内部重定向到最后⼀个参数。只有最后⼀个参数可以引起⼀个内部重定向,之前的参数只设置内部URI的指向。最后⼀个参数是回退URI且必须存在,否则会出现内部500错误。
Nginx高级配置
Web⽹站的登录⻚⾯都是使⽤https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三⽅获取,所以很多银⾏⽹站或电⼦邮箱等等安全级别较⾼的服务都会采⽤HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上⼜加了⼀层处理加密信息的模块。服务端和客⼾端的信息传输都会通过TLS进⾏加密,所以传输的数据都是加密后的数据。
Nginx反向代理
反向代理:反向代理也叫reverse proxy,指的是代理外⽹⽤⼾的请求到内部的指定web服务器,并将数据返回给用户的⼀种⽅式,这是⽤的⽐较多的⼀种⽅式。
逻辑调用关系:
生产环境部署结构:
Nginx文件展示
特别声明:资料来源网络,PDF版仅做分享学习,侵删