以两台服务器为例,通过Nginx配置负载均衡。
1、先在两台服务器上搭建好需要负载的服务(站点、api等)
2、Nginx配置如下:
upstream apiServer {
server 192.168.1.2:5000 weight=8;
server localhost:5000 weight=2;
}
server {
server_name api.XXX.com;
location / {
proxy_pass http://apiServer;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
先配置upstream XXX,名字任意取,只要与location中的proxy_pass转发配置的http后面的名称一致即可,upstream server后的weight表示权重,nginx将按weight比例对请求进行分发。
3、配置访问日志格式,查看nginx转发详情:
配置log_format(与upstream、server节点同级),并配置日志文件格式应用该format:
log_format main
' $remote_user [$time_local] $http_x_Forwarded_for $remote_addr $request '
'$http_x_forwarded_for '
'$upstream_addr '
'ups_resp_time: $upstream_response_time '
'request_time: $request_time';
upstream apiServer {
server 192.168.1.2:5000 weight=8;
server localhost:5000 weight=2;
}
server {
server_name api.XXX.com;
access_log /var/log/nginx/api.XXX.access.log main;
location / {
proxy_pass http://apiServer;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
其中,$upstream_addr表示分发到的地址。