64 lines
1.4 KiB
Markdown
64 lines
1.4 KiB
Markdown
|
|
# 学习资源
|
|||
|
|
## 微信书城
|
|||
|
|
- Nginx底层设计与源码实现
|
|||
|
|
- Nginx实战:基于Lua语言的配置、开发与架构详解
|
|||
|
|
|
|||
|
|
|
|||
|
|
# 安装
|
|||
|
|
## 下载
|
|||
|
|
|
|||
|
|
- [Nginx](http://nginx.org/en/download.html)
|
|||
|
|
|
|||
|
|
## 配置
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
# 作用
|
|||
|
|
|
|||
|
|
Nginx是一个代理服务器,位于客户端与服务器之间,负责保护主机安全,负责干脏活累活,减轻服务器压力。
|
|||
|
|
|
|||
|
|
服务器压力大就会需要用到,压力不大其实无所谓。
|
|||
|
|
|
|||
|
|
- 逻辑相对简单
|
|||
|
|
- 主要负责转发数据
|
|||
|
|
- 需要对数据进行校验和分发
|
|||
|
|
|
|||
|
|
## 正向代理
|
|||
|
|
|
|||
|
|
代理服务器位于客户端之前,没有任何服务器能绕过代理,与客户端通信
|
|||
|
|
|
|||
|
|
## 反向代理
|
|||
|
|
|
|||
|
|
代理服务器位于服务器之前,没有任何客户端能绕过代理,与服务器通信
|
|||
|
|
|
|||
|
|
# 原理
|
|||
|
|
|
|||
|
|
指令相当于Nginx的代码,通过指令能实现常用需求,可结合其它编程语言如lua 实现多样化的需求。
|
|||
|
|
|
|||
|
|
## 指令
|
|||
|
|
|
|||
|
|
- 指令 = 名称 参数;
|
|||
|
|
- 指令块 = 名称 { 指令|指令块}
|
|||
|
|
|
|||
|
|
最外层指令为全局指令
|
|||
|
|
|
|||
|
|
同名指令会覆盖上层
|
|||
|
|
|
|||
|
|
## 常用指令
|
|||
|
|
|
|||
|
|
- include
|
|||
|
|
- 导入配置文件
|
|||
|
|
- http
|
|||
|
|
- 主要管理与客户端相关的配置
|
|||
|
|
- http.server
|
|||
|
|
- 通过 端口 + 域名 匹配指定请求
|
|||
|
|
- .location
|
|||
|
|
- 通过URL匹配分配请求
|
|||
|
|
- 通过状态码匹配特殊请求(404错误)
|
|||
|
|
- .location.index
|
|||
|
|
- 默认页面
|
|||
|
|
|
|||
|
|
- root
|
|||
|
|
- 站点根目录
|
|||
|
|
- 匹配目录下的资源
|