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
 | 
						||
  - 站点根目录
 | 
						||
  - 匹配目录下的资源
 |