Nginx常见几个问题
最近在学习Nginx,几个常见的问题记录如下,供以后查阅。
1.优点
轻量级,消耗系统资源更少
异步非阻塞,支持高并发,性能更好
可以作为反向代理服务器
高扩展性和高稳定性
支持热部署,不间断服务,平滑升级
配置简单
BSD认证,开源可修改
2.反向代理
用nginx服务器作为反向代理服务器,用来接收客户端请求,再将请求根据负载均衡策略转发到后端真正服务器集群上
可以根据策略转发到不同的节点上,避免有的节点负载过高,有的没有负载,实现负载均衡
同时也隐藏了真实服务器的IP,一定程度上保证了集群的安全
3.负载均衡策略
轮询
加权轮询
IP hash
最小连接
响应时间
4.location匹配顺序
精准匹配,即全等
普通匹配,根据前缀,最长优先,如果禁止正则就是它,没禁止则去匹配正则
正则匹配,区分大小写优先,匹配上即可
5.server_name匹配顺序
精确匹配
*在前的泛域名
*在后的泛域名
按顺序匹配正则表达式、
default server
第一个server
6.动静分离
可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力
简单来说,就是使用正则表达式匹配过滤,然后交个不同的服务器
也可以让nginx代理自己解析静态网页,不过nginx压力可能会比较大
7.三个应用场景
反向代理和负载均衡
静态资源解析
API服务
8.异步非阻塞
同步和异步指的是任务完成消息通知的方式,而阻塞和非阻塞指的是等待任务完成时请求者的状态
同步需要调用者主动检查是否有返回,异步则是被调用者发出通知
阻塞是调用者等待返回,非阻塞是调用者可以做别的工作
同步阻塞:等待返回且主动检查
同步非阻塞:做别的但时不时检查
异步阻塞:等待返回,完成被告知
异步非阻塞,做别的,完成被告知