Nginx如何设置负载均衡

发布时间:2019-10-25 16:07:14 阅读:79
负载平衡是一种非常有用的技术,可以在多个服务器之间分配传入的网络流量。使用此技术,您可以减少资源使用量,缩短响应时间并避免服务器过载。在本教程中,我们将指导您完成在Linux VPS上配置Nginx负载平衡的步骤。Nginx负载平衡是实现完全应用程序冗余的最有效的选项之一,并且相对容易且快速设置。我们将使用循环机制配置Nginx负载平衡。这样,它将所有请求转发到Nginx配置中包括的相应服务器。

目录

  1. 登录SSH
  2. 更新所有软件
  3. 安装Nginx Web 服务器
  4. 添加负载均衡
  5. 在Nginx中添加上游模块
  6. 重新启动Nginx
  7. 设置权重平衡
  8. 设置最大失败次数
  9. 设置IP哈希平衡

以root用户身份登录到服务器

ssh root@IP_Address

更新所有软件

apt-get update && apt-get upgrade

安装Nginx Web服务器

apt-get install nginx

安装完成后,检查Web服务器是否正在运行。

	service nginx status
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running)  

添加负载均衡

使用文本编辑器打开网站的Nginx配置文件。

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

并将负载平衡配置附加到文件顶部。

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

在Nginx中添加上游模块

在相同的配置文件yourdomain.com.conf中,我们需要在virtualhost配置中添加上游模块。

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

重新启动Nginx服务器

保存所有文件只有重启Nginx服务器。

service nginx restart

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

权重平衡

我们可以使用此选项来指定分配给上游列出的每个服务器的流量的比例。

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

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

最大失败次数

如果使用默认的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秒,它将进行另一次尝试。经过四次尝试,vps1.yourdomain.com将被视为关闭。

设置IP哈希平衡

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

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

我们在微信上24小时期待你的声音
解答:网站优化,网站建设,搜索引擎优化,APP 开发,小程序开发

非常感谢您有耐心的读完这篇文章:"Nginx如何设置负载均衡",此文章仅为提供更多信息供用户参考使用或为学习交流的方便。如果对您有帮助,请收藏我们的网址:https://www.91webs.cn


18617670560