1. Nginx 介绍
- 特点:高性能、高可靠性、内存消耗低、扩展性好、热部署、高并发连接、自由的BSD许可协议。
- 架构:事件驱动 & 异步非阻塞、多进程机制、proxy cache、反向代理。
2. Nginx 安装
- 具体安装步骤参考作者的另一篇教程。
3. Nginx 目录结构
conf/
:配置文件目录。html/
:网页文档目录。logs/
:日志文件目录。sbin/
:启动程序目录。
4. Nginx 配置文件 nginx.conf
- 全局模块:配置影响Nginx全局的指令。
- events模块:配置网络连接相关。
- http模块:配置HTTP协议相关功能。
- server模块:配置虚拟主机参数。
- location块:配置URL路由规则。
- upstream模块:配置负载均衡策略。
5. Location 路由匹配规则
- 匹配类型:前缀匹配、精确匹配、正则表达式匹配(区分大小写与不区分大小写)。
6. 反向代理
- 隐藏真实服务、统一管理请求、负载均衡。
7. 负载均衡
- 策略:轮询、权重、ip_hash、least_conn、fair(第三方)、url_hash(第三方)。
8. 动静分离
- 静态资源:直接由Nginx提供服务。
- 动态内容:转发到后端应用服务器。
9. 跨域问题
- 原因:同源策略限制。
- 解决方案:通过Nginx配置统一域名和端口。
10. 缓存
- 减少服务器压力、快速响应请求。
- 配置参数:
proxy_cache
,proxy_cache_valid
,proxy_cache_key
, 等。
11. 黑白名单
- 控制访问权限。
12. Nginx 限流
- 按并发连接数限流、按请求速率限流。
13. HTTPS 配置
- 安装SSL模块、配置域名解析、SSL证书申请与验证。
14. 压缩
- 使用gzip压缩提高传输效率。
15. 其他常用指令
rewrite
、if
、auto_index
、root
&alias
、proxy_pass
。
16. 重试策略
- 服务不可用重试、错误重试、备用节点。