浅谈负载均衡和动静分离

1 负载均衡

---------网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务、分离出图片作为单独服务。这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也是很大的。怎样讲同一个域名的访问分散到两台或者更多的机器上。这其实就是另一种负载均衡了,Nginx自身就可以做到,只需要做个简单的配置就行。
Nginx可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希,权重等多种方式怼后端服务器做负载均衡,同时还支持后端服务器的健康检查。

1.1 负载均衡策略

  • 轮询(默认)
    -----每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
  • weight(加权轮询)
    -----指定轮询几率,weight和访问率成正比,用于后端服务器性能不均的情况
  • Ip_Hash
    -----每个请求按照访问的ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决Session问题

1.2 反向代理和负载均衡配置

#在server节点上加入以下配置
    upstream www.erp.com {
        # 加权
        server 192.169.15.131:8080 weight=5;
        server 192.168.15.131:8090;
        server 192.168.15.131:8100;
    }
    #修改location的配置
    server {
        listen       80;
        server_name  www.erp.com;#配置访问的域名
        location / {
             # root   html;
             # index  index.html index.htm;
             proxy_pass http://www.erp.com; #指向上面配置的server的节点
     }
 }

2 动静分离

----动静分离,就是将css、js、jpg等静态资源和jsp等动态资源分开处理,以此提高服务器响应速度,提高性能。

2.1 动静分离的配置原则

http.server.localtion语法

基本语法: location [=|~|~*|^~]/uri/{...} 
= 严格匹配, 如果这个查询匹配,将停止搜索并立即处理此请求 
~ 区分大小写匹配(可用正则表达式) 
~* 不区分大小写匹配(可用正则表达式) 
!~ 区分大小写匹配 
!~* 不区分大小写匹配 
^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx如果路径匹配那么不测试正则表达式

location = /{
#只匹配/查询
}

location /{
#匹配任何查询,因为所有请求都以/开头。但是正则表达式和长的块规则将被优先查询匹配
}

location ^~ /images/{
#匹配任何以/images/开头的查询并停止搜索。任何正则表达式将不会被测试。
}

location ~*.(gif|jpg|jpeg)${
#匹配任何以gif|jpg|jpeg结尾的请求
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值