# 学习资源
## 微信书城
-  Nginx底层设计与源码实现
- Nginx实战：基于Lua语言的配置、开发与架构详解


# 安装
## 下载

- [Nginx](http://nginx.org/en/download.html)

## 配置



# 作用

Nginx是一个代理服务器，位于客户端与服务器之间，负责保护主机安全，负责干脏活累活，减轻服务器压力。

服务器压力大就会需要用到，压力不大其实无所谓。

- 逻辑相对简单
- 主要负责转发数据
- 需要对数据进行校验和分发

## 正向代理

代理服务器位于客户端之前，没有任何服务器能绕过代理，与客户端通信

## 反向代理

代理服务器位于服务器之前，没有任何客户端能绕过代理，与服务器通信

# 原理

指令相当于Nginx的代码，通过指令能实现常用需求，可结合其它编程语言如lua 实现多样化的需求。

## 指令

- 指令 = 名称  参数;
- 指令块 = 名称  {    指令|指令块}

最外层指令为全局指令

同名指令会覆盖上层

## 常用指令

- include
  - 导入配置文件
- http
  - 主要管理与客户端相关的配置
- http.server
  - 通过 端口 + 域名 匹配指定请求
  - .location
    - 通过URL匹配分配请求
    - 通过状态码匹配特殊请求（404错误）
  - .location.index
    - 默认页面

- root
  - 站点根目录
  - 匹配目录下的资源
