通过nginx做多个服务的转发,可以做负载均衡或灰度发布:
设置upstream属性,需要转发的服务地址和端口
在进行location转发时,代理转发的服务地址用test_server代替,根据设置的权重进行负载均衡
upstream test_server {
server localhost:8081 weight=3; //8081端口服务的权重为3
server localhost:8082 weight=1; //8082端口服务的权重为1
}
server {
listen 8080;
server_name test_server;
location / {
proxy_pass http://test_server/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}