是什么?
Nginx是一个轻量级/高性能的反向代理Web服务器
能干啥?
反向代理(负载均衡):
啥是反向代理啥是正向代理呢?正向代理就是代理客户端(比如fan墙),反向代理就是代理服务器端(比如Nginx)。

为啥要用反向代理呢?首先可以隐藏服务器的存在和特性,可以充当互联网云和web服务器治安的中间层。
负载均衡呢就可以分担服务器压力。请求先到达转发服务器,再由转发服务器按照设定的规则访问分到到压力较小的服务器。
而一般来说配置的规则也就是策略由以下五种:
1.轮询:每个请求按照时间顺序依次分配到不同的服务器后端
2.权重:一般用于服务器性能不易的情况下,能能好的权重设置大一些,被访问到的概论也大一些。
3.iphash(IP绑定):每个请求按照访问Ip的哈希结果分配,是得同一ip的访问总是可以固定访问到同一台服务器,可以有效结果动态页面存在的session共享问题。
4.fair(第三方插件):需要安装upstream_fire模块,相对于权重,iphash来说,fire的负载均衡算法更加智能,可以根据页面的大小和加载时长进行负载均衡,响应时间短的优先分配。
5.url_hash(第三方插件):需要安装nginx的hash软件包,按照url的hash结果来进行分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端访问服务器的效率
iphash和urlhash 的侧重点不一样。iphash偏向于保持连接,urlhash偏向与缓存优化

静态服务器:
虚拟主机(绑定host)
做网关
解决前端跨域问题:
使用Nginx转发请求,将跨域的接口携程调用本域的接口,然后将这些接口转发到真正的请求地址
为啥能干那些?
首先得益于其高效的架构设计,NIO。
Nginx可以直接从磁盘读取静态文件并发送给客户端。无需通过后端应用服务器。
还有它的缓存机制,可以利用操作系统缓存(如也米娜缓存),加速静态文件的读取和传输。
大致理一下http浏览器缓存原理:
浏览器第一次请求服务器,此时浏览器肯定没有缓存,则直接调用服务器端,服务器在返回的信息的信息头中添加 ETag和Last-Modified参数信息,返回给客户端浏览器缓存。
然后浏览器以后的请求,先判断是否有缓存,那么怎么判断有缓存呢,有三步:
(1)是否过期
(2)对ETag信息对比 ,ETag: 就是一个生成的字符串
(3)对Last-Modified信息对比;Last-Modified:服务端最后一次修改的时间。
如果没有过期,则将信息直接返回回去,如果过期了,则将请求发送到服务端,此时request的头信息中带着ETag和Last-Modified信息,responose头信息中也带着这两个参数,如果一致,则表示要访问的资源没有发生改变,直接返回304,如果不一致,则表明资源改变,会请求服务端,返回200。
原文链接:https://blog.youkuaiyun.com/duguxiaobiao/article/details/79096298
怎么进一步使用?
限流:控制速率
http {
limit_req_zone 192.168.1.1 zone=myLimit:10m rate=5r/s;
}
server {
location / {
limit_req zone=myLimit;
rewrite / http://www.hac.cn permanent;
}
}
5r/s就是限制该ip每秒只可以有5个请求,也就是200ms可以请求一次,若时间内再次请求则直接拒绝。
控制并发连接数
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server {
...
limit_conn perip 10;
limit_conn perserver 100;
}
限制单个ip的连接数和虚拟主机的总连接数
##定义白名单ip列表变量
geo $limit {
default 1;
10.0.0.0/8 0;
192.168.0.0/10 0;
81.56.0.35 0;
}
map $limit $limit_key {
0 "";
1 $binary_remote_addr;
}
# 正常限流设置
limit_req_zone $limit_key zone=myRateLimit:10m rate=10r/s;
也可以向上面配置设置白名单
这是nginx的网关功能,附带说一下网关GateWay和Nginx网关的区别
1.Nginx是流量网关,GateWay是业务网关
2.流量网关相当于总入口,前端页面的一个容器,主要功能是管理日志,流量监控,黑白名单,请求的负载均衡,全局限流等。业务网关主要的针对后端的应用和服务,主要功能是缓存策略,鉴权策略等。
3.一般流量网关配置在前,业务网关在后
470

被折叠的 条评论
为什么被折叠?



