nginx 简介
nginx 简介
nginx是开源的web服务器,可实现反向代理、负载均衡、缓存等功能,常用于高并发访问的场景
************************
反向代理
nginx的很多技术都是从反向代理衍生出来的,如负载均衡、缓存等,代理包含正向代理、反向代理
**********************
正向代理
客户端将请求发送给代理服务器,代理服务器将请求转发给目标服务器;
功能性:正向代理主要为局域网内的客户端提供访问Internet的服务;
安全性:如果客户端不具有访问目标服务器的权限,代理服务器可访问目标服务器,则客户端可通过代理服务器访问目标服务器,带来安全隐患
**********************
反向代理
反向代理服务器相对于客户端来说就是目标服务器,客户端将请求发送给反向代理服务器,
反向代理服务器再将请求发送给内部的后端服务器,然后将收到的请求结果返回给客户端
功能性:反向代理将防火墙内的服务提供给Internet用户使用,还可实现负载均衡、缓存等功能
安全性:客户端只能通过Internet访问代理服务器,将后端服务放在内网中,提高了安全性
************************
负载均衡
将客户端的请求按照某种策略发送给后端服务器
**********************
负载均衡策略
轮询:按顺序依次将请求发送给后端服务器,若某个服务器故障,可自动剔除
加权轮询:对服务器赋权重,然后轮询,如服务器A:2,B:1,则3次请求,访问服务器A 2次,服务器B 1次
ip hash:根据ip的hash值,将请求发送给固定的后端服务器,可解决session共享问题
响应时间最短:将请求发送给响应时间最短的后端服务器
url hash:根据url的hash值,将请求发送给对应的服务器
************************
缓存
缓存服务器位于客户端与目标服务器之间,将访问频率较高的内容缓存,可减轻后端服务器的压力,
如果访问的内容在缓存服务器中保存,可直接将缓存服务器中的内容返回;
如果访问的内容不在缓存服务器中,则到后端获取访问的资源,存储在缓存服务器中,并返回给客户端
**********************
nginx有两种缓存:永久缓存、临时缓存
永久缓存:如果不手动删除,永久有效,适合缓存不会更改的内容
临时缓存:设置缓存的有效时间,如果在一定时间内不访问缓存,则缓存失效,会自动删除
说明:临时缓存可手动删除,也可用ngx_cache_purge删除指定的url缓存