Nginx作为反向代理
来源:互联网 发布:古装淘宝 编辑:程序博客网 时间:2024/06/05 15:47
1. 反向代理简介
Nginx可以作为反向代理,接收客户端的请求,并向上游服务器发起新的请求。该请求可以根据客户端请求的URI,客户机参数或其他逻辑进行拆分,原始URL中的任何部分可以以这种方式进行转换。
1.1. 代理模块指令
1.2. upstream模块
upstream指令将会启用一个新的配置区域,在该区域定义了一组上游服务器,这些服务器可以被设置为不同的权重(权重高的服务器将会被Nginx传递越多的连接)。
1.2.1. 负载均衡算法
upstream模块能够使用轮询、IP hash和最少连接数三种负载均衡算法之一来选择哪个上游服务器将会被在下一步中连接。
1.2.1.1. 轮询
默认情况使用轮询,不需要配置指令来设置,该算法选择下一个服务器,基于先前选择,再配置文件中哪一个是下一个服务器,以及每个服务器的负载。轮询算法是基于在队列中谁是下一个的原理确保将访问量均匀的分配给每一个上游服务器。
1.2.1.2. IP 哈希
通过ip_hash指令激活使用,从而将某些IP地址映射到同一个上游服务器。
1.2.1.3. 最少连接数
通过least_conn指令启用,该算法通过选择一个活跃的最少连接数服务器,然后将负载均匀分配给上游服务器。如果上游服务器的处理器能力不同,那么可以为server指令使用weight来指示说明。该算法将考虑到不同服务器的加权最小连接数。
2. Upstream服务器类型
上游服务器是Ngixn代理连接的一个服务器,可以是物理机或虚拟机。
2.1. 单个upstream服务器
指令try_files(包括http core模块内)意味着按顺序尝试,直到找到一个匹配为止。Nginx将会投递与客户端给定URI匹配的任何文件,如果没有找到任何配置文件,将会把请求代理到Apache作进一步处理。
2.2. 多个upstream服务器
Nginx将会通过轮询的方式将连续请求传递给3个上游服务器。这样应用程序不会过载。
3. 负载均衡特别说明
- 如果客户端希望总是访问同一个上游服务器,可以使用ip_hash指令;
- 如果请求响应时间长短不一,可以使用least_conn指令;
- 默认为轮询。
阅读全文
0 0
- Nginx作为反向代理
- 使用nginx作为反向代理
- nginx作为web服务器反向代理
- Nginx作为反向代理的简单应用
- Nginx作为Nodejs的反向代理
- Nginx 作为反向代理优化要点proxy_buffering
- nginx作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- Nginx作为web前端缓存和反向代理
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- 转:nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- nginx 作为反向代理实现负载均衡的例子
- 关于android的mk文件的一些见解
- 希尔排序 Java实现
- tomcat如何配置环境变量
- 重建二叉树06
- 关于leetcode Minimum Window Substring的思考
- Nginx作为反向代理
- numpy-线性代数
- struts2中的文本框不可编辑
- RS232和RS485、TTL有什么区别?
- CCF软件能力认证考试模拟题 ISBN号码
- 黑板客 -- 爬虫闯关 -- 关卡02
- PHP json_decode 精度丢失问题!
- Python列表的使用
- mongodb学习(三):springboot集成mongodb例子