nginx 负载均衡器配置不起作用
nginx load balancer configuration not working
我有一个非常简单的负载平衡配置,为 PoC 目的设置它。我的应用服务器 1 和负载平衡器服务器是 same.Below 是我的负载平衡器 conf 文件内容。请帮我看看这是正确的吗?
目前,每当我的所有请求都转到 IP1 时。我希望它在我访问 IP1 时也将流量路由到 IP2,如果这种理解有误,请更正。
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
您的配置是正确的。将多个请求发送到您的 NGINX 代理端口 80
将使用默认的 LB 算法循环将流量负载平衡到您的后端(上游)服务器之一。
看看这个:
https://www.nginx.com/resources/wiki/start/topics/examples/loadbalanceexample/
http {
upstream myproject {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
server_name www.domain.com;
location / {
proxy_pass http://myproject;
}
}
}
您可以从任何 Linux 命令行尝试此操作
for ((i=1;i<=10;i++)); do curl -v "http://localhost"; sleep 1; done
这应该打印 AppServer1, AppServer2, AppServer3
并从 1 重新开始。
演示后端可能看起来像
server {
listen 8080;
location / {
return 200 "AppServer1\n";
}
}
server {
listen 8081;
location / {
return 200 "AppServer2\n";
}
}
server {
listen 8082;
location / {
return 200 "AppServer3\n";
}
}
我刚刚在一个新的 nginx docker 容器中测试没有任何问题。
我有一个非常简单的负载平衡配置,为 PoC 目的设置它。我的应用服务器 1 和负载平衡器服务器是 same.Below 是我的负载平衡器 conf 文件内容。请帮我看看这是正确的吗?
目前,每当我的所有请求都转到 IP1 时。我希望它在我访问 IP1 时也将流量路由到 IP2,如果这种理解有误,请更正。
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
您的配置是正确的。将多个请求发送到您的 NGINX 代理端口 80
将使用默认的 LB 算法循环将流量负载平衡到您的后端(上游)服务器之一。
看看这个: https://www.nginx.com/resources/wiki/start/topics/examples/loadbalanceexample/
http {
upstream myproject {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
server_name www.domain.com;
location / {
proxy_pass http://myproject;
}
}
}
您可以从任何 Linux 命令行尝试此操作
for ((i=1;i<=10;i++)); do curl -v "http://localhost"; sleep 1; done
这应该打印 AppServer1, AppServer2, AppServer3
并从 1 重新开始。
演示后端可能看起来像
server {
listen 8080;
location / {
return 200 "AppServer1\n";
}
}
server {
listen 8081;
location / {
return 200 "AppServer2\n";
}
}
server {
listen 8082;
location / {
return 200 "AppServer3\n";
}
}
我刚刚在一个新的 nginx docker 容器中测试没有任何问题。