Nginx应该是现在最流行的web和反向代理服务器了,没有之一。Nginx配置生成器:强大!Nginx配置在线一键生成“神器”Nginx处理http请求:深度好文:Nginx如何启动和处理http请求?Nginx动态版本升级:1分钟内平滑升级和回滚Nginx版本。它是一款诞生于俄罗斯的高性能Web服务器,尤其是在高并发的情况下,与Apache相比,有着非常出色的性能。那么除了负载均衡,她还有什么用处呢?下面我们一起来看看吧。1、静态代理Nginx擅长处理静态文件,是一个很好的图像和文件服务器。把所有的静态资源都放在nginx上,可以让应用动静分离,性能更好。2、负载均衡Nginx可以通过反向代理实现服务的负载均衡,避免服务器单节点故障,将请求按照一定的策略转发到不同的服务器,达到负载的效果。常用的负载均衡策略有:1.轮询将请求按顺序轮流分配给后端服务器,它均衡地对待每台后端服务器,而不管服务器上的实际连接数和当前系统负载。2、加权轮询不同的后端服务器可能机器配置不同,当前系统负载不同,因此其抗压能力也不同。给配置高、负载低的机器分配更高的权重,让它们处理更多的请求;给配置低、负载高的机器分配较低的权重,以降低其系统负载,加权轮询效果很好妥善处理这个问题,将请求按权重顺序分配给后端。3、ip_hash(源地址哈希法)根据得到的客户端IP地址通过哈希函数计算出一个值,用这个值对服务器列表的大小进行取模运算,得到的结果就是个数客户端想要访问服务器序列号的次数。源地址散列法用于负载均衡。对于IP地址相同的客户端,在后端服务器列表不变的情况下,每次都会映射到同一台后端服务器进行访问。4、随机使用系统的随机算法,根据后端服务器的listsize值,随机选择其中一台服务器进行访问。5.least_conn(最小连接数法)由于后端服务器的配置不同,请求的处理可能快也可能慢。最小连接数法根据后端服务器当前连接状态,动态选择当前积压最少的单个服务器来处理当前请求,尽可能提高后端服务的利用效率,并将负责合理拆分到各个服务器。3、限流Nginx的限流模块是基于漏桶算法实现的,在高并发场景下非常实用。1、配置参数1)limit_req_zone定义在http块中,$binary_remote_addr表示保存客户端IP地址的二进制形式。2)Zone定义了IP状态和URL访问频率的共享内存区域。zone=keyword标识区域名称,冒号后跟区域大小。16000个IP地址的状态信息约1MB,所以例子中的region可以存储160000个IP地址。3)Rate定义最大请求速率。示例速率不能超过每秒100个请求。2.设置限流突发队列大小,nodelay不限制单个请求之间的时间。四、缓存1、浏览器缓存,带过期的静态资源缓存。2.代理层缓存5.黑白名单1.不限流量白名单2.黑名单好了,上面就是nginx的几个常用功能,静态分离,负载均衡,限流,缓存,黑白名单等等,你们都明白吗?
