Nginx - 负载均衡

Nginx - 负载均衡 首页 / Nginx入门教程 / Nginx - 负载均衡

为了确保适当的速度和优化的功能,传入的网络流量会分布在一组服务中。这些后端服务通常称为服务器池或服务器场。随着服务器之间分布的增加,由于服务器加载而导致变慢的机会就更少了。

高流量的网站每天为成千上万的人提供服务。此服务的一部分是在几秒钟内为用户显示内容,例如图像,文本和视频。服务器需要识别所需的数据,并每次可靠地执行它们。

负载平衡用于防止请求溢出时服务器瘫痪。负载平衡器将请求发送到可以有效处理请求的服务器,以最大程度地提高速度和性能。

负载平衡是一种常用的技术,是一种资源利用,最大化吞吐量,减少等待时间并确保跨多个应用程序实例的容错配置的绝佳方法。

这是在多个有能力的虚拟专用服务器之间分配传入流量的有用机制。

Nginx是流行的Web服务器软件,可用于配置为简单而强大的负载平衡器,以提高服务器的资源可用性和效率。

NGINX Load Balancing

设置Nginx负载平衡

1。通过SSH登录

首先,以root用户身份登录到您的nginx服务器。

链接:https://www.learnfk.comhttps://www.learnfk.com/nginx/nginx-load-balancing.html

来源:LearnFk无涯教程网

ssh root@IP_address

2。更新所有软件包

安装在其上的所有软件包都必须是最新的:

apt-get update && apt-get upgrade

3。安装Nginx Web服务器

我们需要在虚拟专用服务器(VPS)上安装nginx Web服务器。使用以下命令安装Nginx:

apt-get install nginx

安装Nginx之后,使用以下命令检查Nginx是否正在运行:

service nginx status

4。附加负载平衡配置

现在,在任何文本编辑器中打开网站的Nginx配置文件:

vim /etc/nginx/sites-available/yourdomain.com.conf

然后在文件顶部附加负载均衡配置:

upstream loadbalancer {
server vps1.yourdomain.com;
server vps2.yourdomain.com;
server vps3.yourdomain.com;
}

我们应该已经安装了Nginx并在上面列出的所有服务器上侦听80端口号。

5。添加Upstream模块

要设置循环负载均衡器,我们将不得不使用nginx upstream模块。在同一个配置文件(即yourdomain.com.conf)中,我们需要在虚拟主机配置中添加upstream模块。

server {
location/{
proxy_pass http://loadbalancer;
}
}

6。重新启动Nginx服务器

保存配置文件并重新启动Nginx,以使更改生效:

service nginx restart

整个配置将平均在三个服务器(vps1.yourdomain.com,vps2.yourdomain.com,vps3.yourdomain.com)之间分配所有传入流量,也可以将nginx配置为更有效地分配流量。它带有平衡选项,例如权重平衡,最大失败数和IP哈希平衡。

7。权重平衡

我们可以使用权重平衡来指定分配给upstream列出的每个服务器的流量的比例:

例如:

upstream loadbalancer {
server vps1.yourdomain.com weight=1;
server vps2.yourdomain.com weight=2;
server vps3.yourdomain.com weight=5;
}

在上面的示例中,vps2.yourdomain.com的流量是vps1.yourdomain.com的两倍,vps3.yourdomain.com的流量是vps1.yourdomain.com的五倍。

8。最多失败限制

当我们看到nginx的默认设置时,即使它们已关闭,它也会将数据发送到服务器。我们可以使用最大失败选项来防止这种情况。

upstream loadbalancer {
server vps1.yourdomain.com max_fails=4  fail_timeout=20s;
server vps2.yourdomain.com weight=2;
server vps3.yourdomain.com weight=4;
}

在上面的示例中,nginx服务器将尝试连接到vps1.yourdomain.com,如果响应时间超过20秒,它将进行另一次尝试。经过4次尝试,vps1.yourdomain.com将被视为已关闭。

9。 IP哈希平衡

使用此方法,访问者将始终被发送到同一服务器。因此,如果访问者收到了vps1.yourdomain.com的内容,则除非服务器停机或无法访问,否则它将始终传输到该服务器。

upstream loadbalancer {
ip_hash;
server vps1.yourdomain.com;
server vps2.yourdomain.com;
server vps3.yourdomain.com down;
}

在以上示例中,已知vps3.yourdomain.com无法访问,并将其标记为down。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

赵成的运维体系管理课 -〔赵成〕

Go语言核心36讲 -〔郝林〕

编译原理之美 -〔宫文学〕

MongoDB高手课 -〔唐建法(TJ)〕

手把手带你写一门编程语言 -〔宫文学〕

陈天 · Rust 编程第一课 -〔陈天〕

林外 · 专利写作第一课 -〔林外〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)