Nginx 是一种流行的开源 Web 服务器软件,也可以用作负载均衡器。负载平衡是一种在多个服务器之间分配传入流量的技术,以提高性能、提高可用性并避免任何单个服务器过载。在本文中,我们将通过示例讨论如何将 Nginx 配置为负载均衡器。
要将 Nginx 配置为负载均衡器,需要执行以下步骤:
- 安装 Nginx 网络服务器
- 配置上游并添加后端服务器所有节点
- 与上游设置 proxy_pass 位置
- 重新启动 Nginx 服务器以应用更改
- 测试 Nginx 负载均衡器设置
让我们一一按照步骤来完成 Nginx 配置以充当负载均衡器。
第1步:安装Nginx
第一步是在充当负载均衡器的服务器上安装 Nginx。 Nginx 可以使用包管理器安装在大多数 Linux 发行版上。例如,在 Ubuntu 上,您可以运行以下命令:
sudo apt-get update
sudo apt-get install nginx
在基于 RHEL 的系统上,您可以使用以下命令来安装 Nginx:
sudo yum install nginx
现代基于 RHEL 的系统使用 DNF 包管理器。
步骤 2:配置上游服务器
下一步是定义将从负载均衡器接收流量的服务器。这些服务器称为上游服务器。您可以在 Nginx 配置文件中定义它们/etc/nginx/nginx.conf。在文本编辑器中打开该文件并添加以下代码:
|
http {
upstream myapp {
server 192.168.10.201;
server 192.168.10.202;
}
}
|
在此示例中,我们定义了一个名为的上游组“myapp”其中包括两个服务器:192.168.10.201 and 192.168.10.202。这些是将接收来自负载均衡器的流量的服务器。
步骤 3:配置负载均衡器
现在我们已经定义了上游服务器,我们可以配置负载均衡器。将以下代码添加到http块中nginx.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
http {
upstream myapp {
server 192.168.10.201;
server 192.168.10.202;
}
server {
listen 80;
location / {
代理通行证http://myapp;
}
}
}
|
在此代码中,我们定义了一个侦听端口 80(默认 HTTP 端口)的服务器块。 location / 块指定应路由到上游服务器的 URL 路径。这代理通行证指令告诉 Nginx 将传入的请求转发到“myapp”我们之前定义的上游组。
第四步:重启Nginx
最后,重新启动 Nginx 以将更改应用到配置文件。运行以下命令:
sudo service nginx restart
第 5 步:测试负载均衡器
为了测试负载均衡器,我们可以使用 Web 浏览器或 cURL 等工具向服务器发送 HTTP 请求。当我们访问location/块中配置的URL时,Nginx会将请求转发到其中一台上游服务器“myapp” group.
如果一切正常,您应该会看到来自上游服务器之一的响应。您可以通过多次刷新页面并检查响应每个请求的服务器的 IP 地址来确认两台服务器之间的负载是否均衡。
结论
将 Nginx 配置为负载均衡器是一个简单的过程,可以帮助提高 Web 应用程序的性能和可用性。通过定义上游服务器并配置负载均衡器,您可以在多个服务器之间分配传入流量,并避免任何单个服务器过载。