nginx配置之负载均衡
nginx负载均衡
nginx代理机分发到多台同一项目的服务机
负载均衡器代理机配置:nginx.conf的http{}:
#代理池,运行在不同服务机的程序
upstream loadtest{
server 192.168.160.132:8001;
server 192.168.160.133:8001;
}
server {
listen 80 default_server;
server_name _;
location / {
#root /opt/html;
#index index.html;
#proxy_pass http://192.168.160.132:80;
proxy_pass http://loadtest;
}
}
location{}中还可以设置include proxy_params; #需要手动创建,文件中存放代理的请求头相关参数:
[root@lb01 conf]# cat /opt/nginx/conf/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
多台服务机--------------正常配置,注意防火墙
nginx负载均衡算法
①轮询:按时间顺序逐一分配到不同的后端服务器(默认)
upstream loadtest {
server 192.168.16.142;
server 192.168.16.47;
}
②weight:加权轮询,weight值越大,分配到的访问几率越高
upstream loadtest {
server 192.168.16.142 weight=4;
server 192.168.16.47 weight=1;
}
③ip_hash :每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
④url_hash:按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
⑤least_conn:最少链接数,那个机器链接数少就分发