nginx中的HTTP 负载均衡

news/2024/10/22 3:38:21/

HTTP 负载均衡:如何实现多台服务器的高效分发

为了让流量均匀分配到两台或多台 HTTP 服务器上,我们可以通过 NGINX 的 upstream 代码块实现负载均衡。

image.pngimage.png

方法 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡:

upstream backend { server 10.10.12.45:80 weight=1; server app.example.com:80 weight=2; server spare.example.com:80 backup; } server { location / { proxy_pass http://backend; } }

该配置对端口 80 的两台 HTTP 服务器实施负载均衡,然后再将另一台服务器定义为 backup,以便在两台主服务器不可用时发挥作用。可选的 weight 参数指示 NGINX 向 第二台服务器传输两倍的请求。未使用时,它的默认值为 1。

HTTP 的 upstream 模块控制着 HTTP 请求负载均衡。该模块定义了一个目标池 —— 它可以是 Unix 套接字、IP 地址和服务器主机名的任意组合,也可以是它们的混合使用 配置。

upstream 模块还定义了如何将任一个请求分发给任何上游(upstream)服务器。

每个上游目标都通过 server 指令在上游池中进行定义。除了上游服务器地址以外, server 指令还接收可选参数。

可选参数能够增强对请求路由的控制。这包括均衡算法 中服务器的 weight 参数(无论服务器处于待机模式、可用还是不可用),以及确定服 务器是否不可用的参数。

NGINX Plus 还提供了许多其他好用的参数,例如对服务器的 连接限制、高级 DNS 解析控制以及在服务器启动后缓慢增加与服务器的连接等等。

现在有一款很火的WAF,也是以反向代理方式接入,雷池社区版,保护你的网站,操作简单,可以试试


http://www.ppmy.cn/news/1540961.html

相关文章

C语言头文件#ifndef条件编译用法

C语言中的头文件定义头 C语言里面经常看别人写的头文件: #ifndef C_CLIENT_H_ #define C_CLIENT_H_XXXX #endifXXX为真实的头内容,一直不大懂为何要加#ifndef C_CLIENT_H_这样的内容,其中C_CLIENT_H_大概是和自己的.h文件同名的一个大写标识…

025 elasticsearch索引管理-Java原生客户端

文章目录 pom.xml1创建索引2.创建索引并设置settings信息3.创建索引并设置mapping信息4.删除索引库5.给未设置mapping的索引设置mapping elasticsearch版本7.10.2,要求java客户端与之相匹配,推荐Springboot版本是2.3以上版本 依赖配置使用的是JUnit 5&am…

如何使用Rancher管理K8S集群

目录 1 Rancher介绍 1.1 Rancher简介 1.2 Rancher和k8s的区别 1.3 Rancher使用案例 2安装rancher 2.1 初始化实验环境 2.2 安装Rancher 2.3 登录Rancher平台 3 通过Rancher管理已存在的k8s集群 4 通过Rancher仪表盘管理k8s集群:部署tomcat服务 文档中…

C++面试速通宝典——29

543. 简述#ifdef、#else、#endif和#ifndef的作用 利用#ifdef、#endif将程序功能模块包括进去,以向特定用户提供该功能。 在不需要时用户可轻易将其屏蔽。 #ifdef MATH #include "math.c" #endif 在子程序前加上标记,以便于追踪和调试。 …

Java JDK的面试题

关于Java JDK的面试题,这里有一些常见的问题和答案,可以帮助你准备面试: JDK、JRE和JVM的区别: JDK(Java Development Kit)是Java开发工具包,包含了JRE和开发工具(如javac编译器和ja…

在win系统上做生信数据分析如何快速检查和填写正确的文件路径

在win系统上做生信数据分析如何快速检查和填写正确的文件路径,避免分析报错 文件路径没有填写正确导致分析报错或闪退的问题 视频教程 https://www.bilibili.com/video/BV1mUmHYiESC/ (在win系统上做生信数据分析如何快速检查和填写正确的文件路径,避…

JDK17下,使用SHA1算法报Certificates do not conform to algorithm constraints错误

JDK17从17.0.5开始,默认不再允许使用SHA1算法,如果引用的jar包或代码里使用了SHA1算法,会报以下错误。 Caused by: javax.net.ssl.SSLHandshakeException: Certificates do not conform to algorithm constraintsat java.base/sun.security.…

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法)

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法) requests-pkcs12 PyPI python中如何使用requests模块下载文件并获取进度提示 1、GET方法 1.1、调用 # 下载客户端(GET)def download_client_get(self, header_all):try:url = self.host + "/xxx/v1/xxx-mod…