Nginx代理初探

本文介绍了Nginx作为HTTP服务器和反向代理的角色,重点讲解了其在负载均衡中的应用,包括正向代理、反向代理的概念及其区别。Nginx的负载均衡策略包括轮询、ip_hash、fair和url_hash,并详细阐述了每种策略的工作原理和适用场景。此外,文章还讨论了Nginx如何实现网站的动静分离,以提高性能和减轻服务器压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是nginx?

Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、SMTP 代理服务器。

Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。

优点:

  • 轻量 (占用内存少)
  • 稳定 (有报告表明能支持高达 50,000 个并发连接数)
  • 开源 (使用门槛低)
  • 跨平台 (Linux、Windows、MacOS等都可以使用)

2. 解决了什么问题(应用场景)
1、上网问题
2、高并发的http请求的负载均衡
3、网站的动静分离

常见使用nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

3. 代理
正向代理:
常见的正向代理就是通过代理服务器上网,也就是大家常说的,开代理
在这里插入图片描述
反向代理
反向代理则是用户无感知的,由服务器端与代理服务器之间进行交互。

在这里插入图片描述

有两个好处:
1、集群间通过负载均衡调度目标服务器,优化服务器的负载,维持集群的稳定性;
2、保证内网的安全;不直接将服务器的外网端口打开,通常将反向代理作为公网访问地址,Web 服务器是内网。

4. 负载均衡

什么是负载量?
客户端发送的、Nginx 反向代理服务器接收到的请求数量,就是我们说的负载量。

什么是均衡?
请求数量按照一定的规则进行分发,到不同的服务器处理的规则,就是一种均衡规则。

什么是负载均衡?
所以将服务器接收到的请求按照规则分发的过程,称为负载均衡。

负载均衡在实际项目操作过程中,有硬件负载均衡和软件负载均衡两种,硬件负载均衡也称为硬负载,如 F5 负载均衡,相对造价昂贵成本较高。

但是数据的稳定性安全性等等有非常好的保障,如中国移动中国联通这样的公司才会选择硬负载进行操作。

更多的公司考虑到成本原因,会选择使用软件负载均衡,软件负载均衡是利用现有的技术结合主机硬件实现的一种消息队列分发机制。

那么对于软件负载均衡,那么其所支持的负载均衡调度算法则尤为重要;
Nginx 支持的负载均衡调度算法方式如下:

①weight 轮询(默认):接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,Nginx
会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。

这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率。

权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。

②ip_hash:每个请求按照发起客户端的 ip 的 hash 结果进行匹配,这样的算法下一个固定 ip
地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下 Session 共享的问题。

③fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配。

响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少,它是结合了前两者的优点的一种调度算法。

但是需要注意的是 Nginx 默认不支持 fair 算法,如果要使用这种调度算法,请安装 upstream_fair 模块。

④url_hash:按照访问的 URL 的 hash 结果分配请求,每个请求的 URL 会指向后端固定的某个服务器,可以在 Nginx
作为静态服务器的情况下提高缓存效率。

同样要注意 Nginx 默认不支持这种调度算法,要使用的话需要安装 Nginx 的 hash 软件包。

5. 动静分离
利用nginx实现网站的动静分离,主要目的初衷是,一些网站上包含一些静态资源、和一些动态资源,那么就可以将静态资源、动态资源分开,从而加快网站的解析速度,降低原来单个服务器的压力。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值