我在两个不同的实例中使用了我的REST API(不同的亚马逊盒子)。我前面说我有APIAXLE,它的工作正常。我想要的是对来自APIAXLE的请求进行负载均衡。
如何为此配置nginx。
现在我按如下方式配置了nginx:
upstream apiaxle_cluster {
server 127.0.0.1:3001;
}
server {
listen 8000;
server_name xx.xx.xxx.x;(IP 1st instance)
location /abcd {
proxy_pass http://127.0.0.1:3001;---------------> APIAXLE-PROXY running port
proxy_set_header Host "placesv2.api.localhost";
}
location /oauth {
proxy_pass http://127.0.0.1:2500;-------------->My REST API running port
proxy_set_header Host "placesv2.api.localhost";
}
}
}
如何修改上述配置以进行负载均衡。 是否在APIAXLE中可以使用负载平衡?
答案 0 :(得分:0)
您的配置全部使用本地主机 - 假设您要将其替换为其他服务主机ips?
如果你把它传递给上游,基本上proxy_pass会加载平衡。看起来你需要两个端口用于两个服务,所以我认为你可能需要两个上游(有更多nginx fu比我的人可能也会消除它)。我会尝试以下方法:
upstream apiaxle_cluster_abcd {
server host1:3001;
server host2:3001;
}
upstream apiaxle_cluster_auth{
server host1:2500;
server host2:2500;
}
server {
listen 8000;
server_name xx.xx.xxx.x;(IP 1st instance)
location /abcd {
proxy_pass apiaxle_cluster_abcd
proxy_set_header Host "placesv2.api.localhost";
}
location /oauth {
proxy_pass apiaxle_cluster_auth
proxy_set_header Host "placesv2.api.localhost";
}
}
}