nginx服务器的负载均衡和动静分离(未完)

安装nginx,我的博客里面有介绍源码和yum安装.

实战:使用nginx实现动静分离的负载均衡集群

实战:使用haproxy实现负载均衡集群

LB负载均衡集群分为两类:LVS(四层)和Nginx或proxy(七层)

客户端通过访问分发器的VIP来访问网站

现在应用更复杂,比如现在网站页面有:.php  .html   .png   .jpg   .jsp 等,有动态页面有静态页面,静态页面一般是不变的,想访问更快些。

但是前面的LVS是四层的,基于IP的,现在需要在不同应用层基于不同的应用进行分发.

工作中,希望:

静态文件处理:可以使用nginx或apache

动态文件处理:apache,tomcat

图片文件处理:squid

nginx 动静分离负载均衡:

1.nginx的upstream目前最常用3中方式分配

1)轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

2)weight

指定轮询几率,weight和访问比率正比,用于后端服务器性能不均的情况.

3)ip_hash

每个请求访问ip的hash结果分配,这样每个访客固定一个后端服务器,可以解决session的问题.

 4)fair(第三方)

按后端服务器相应时间来分配请求,响应时间短的优先分配

5)url_hash(第三方)

配置nginx.conf:

定位小技巧(定位两个百分号,按%)

在server里面配置

server{

    listen  80;
    server_name  localhost;

    location /{

      root  html;
      index  index.html  index.htm;
        if($request_uri ~* .html$)
        {#后缀为html的走下面服务器
            proxy_pass http://htmlservers;
        }
        if($request_uri ~* .php$)
        {#后缀php的走下面
            proxy_pass http://phpservers;
        }
    #其他的资源走picserver proxy_pass http:
//picservers; } }

在http{}里面添加server{}外面

upstream htmlservers{#定义负载均衡服务器组
    server 192.168.1.62:80;
    server 192.168.1.64:80;
}

upstream phpservers{
    server 192.168.1.62:80;
    server 192.168.1.64:80;
}

upstream picservers{
    server 192.168.1.62:80;
    server 192.168.1.64:80;
}
原文地址:https://www.cnblogs.com/fps2tao/p/8552919.html