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