版权声明:本文为博主原创文章,未经博主允许不得转载。
1、负载均衡概述:
分摊到多个操作单元上进行执行,和它的英文名称很匹配。就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。
2、负载均衡示例:
upstream test_http {
server 127.0.0.1:9503 weight=1;
server 127.0.0.1:8811 weight=2;
}
server {
listen 80;
#listen [::]:80 default_server ipv6only=on;
server_name test1.freephp.top;
index index.php index.html index.htm ;
root /home/wwwroot/workspace/public/static;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf;
location / {
if (!-e $request_filename){
#proxy_pass http://127.0.0.1:8855;
proxy_pass http://test_http;
}
}
location /nginx_status {
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\. {
deny all;
}
}
upstream 说明:
upstream test{
server 88.88.88.80:8888 weight=1;
server 88.88.88.81:8888 down;
server 88.88.88.82:8888 backup;
server 88.88.88.83:8888 weight=2;
}
//down 表示单前的server临时不參与负载.
//weight 默觉得1.weight越大,负载的权重就越大
//backup: 其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻
Nginx负载均衡,准确的来说,这些属于:HTTP重定向实现负载均衡。它有一个比较大的缺点:由于不同用户的访问时间、访问页面深度有所不同,从而每个用户对各自的后端服务器所造成的压力也不同。而调度服务器在调度时,无法知道当前用户将会对服务器造成多大的压力,因此这种方式无法实现真正意义上的负载均衡。