Mall电商项目总结(二)——nginx负载均衡配置和策略
1. nginx配置文件
用户在浏览器上输入,http://www.xwld.site/ 实际上是在访问服务器80端口,nginx 监听80端口,将用户的请求转发到8080和9080端口
. upstream www.xwld.site{
. server www.xwld.site:;
. server www.xwld.site:;
. }
. server {
. listen ;
. autoindex on;
. server_name www.xwld.site xwld.site;
. access_log /usr/local/nginx/logs/access.log combined;
. index index.html index.htm index.jsp index.php;
. if ( $query_string ~* ".*[\;'\<\>].*" ){
. return ;
. }
. location = / {
. root /product/front/mmall_fe/dist/view;
. index index.html;
. }
.
. location ~ .*\.html$ {
. root /product/front/mmall_fe/dist/view;
. index index.html;
. }
. location / {
. proxy_pass http://www.xwld.site/;
. }
. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
. proxy_pass http://www.xwld.site;
. expires 30d;
. }
. location ~ .*\.(js|css)?$ {
. proxy_pass http://www.xwld.site;
. expires 7d;
. }
. }
nginx 配置负载均衡的时候,可以修改上面的配置文件,新增多个服务器ip,也可以指定客户端请求到服务器的对应策略
2. Nginx负载均衡配置策略
常见的策略有轮询、权重、ip_hash、fair等
2.1 轮询
默认就是轮询的方式,轮询的方式,每个请求会按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
优点
实现简单,不要配置
缺点
不考虑每台服务器处理能力。
示例:
upstream www.xwld.site{
server www.xwld.site:;
server www.xwld.site:;
}
2.2 权重(weight)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,在实际生产环境中用的最多。
优点
考虑的每台服务器处理能力的不同
如果,我们有两条linux服务器,有一台,配置比较高,那么这台高配置的服务器,应当要负担更多的请求。
示例:
upstream www.xwld.site{
server www.xwld.site: weight=;
server www.xwld.site: weight=;
}
上面的配置表示,访问8080端口的服务器的概率是访问9080端口的1.5倍。
2.3 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
缺点是,ip_hash不一定平均,可能会造成某一台服务器的压力过大。
示例:
upstream www.xwld.site{
ip_hash;
server www.xwld.site:;
server www.xwld.site:;
}
2.4 least_conn(最少连接)
least_conn这种负载均衡策略,能把请求转发给连接数较少的后端服务器,适合请求处理时间长短不一造成服务器过载的情况。
有时候会出现这种情况,有些接口请求占用的时间很长,会导致其所在的后端服务负载过高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。
示例:
upstream www.xwld.site{
least_conn;
server www.xwld.site:;
server www.xwld.site:;
}
2.5 fair(公平)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
fair属于第三方的负载均衡策略的实现,要使用这种策略,需要安装第三方插件。
示例:
upstream www.xwld.site{
server www.xwld.site:;
server www.xwld.site:;
fair;
}
2.6 url_hash
使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取
示例:
upstream www.xwld.site{
server www.xwld.site:;
server www.xwld.site:;
hash $request_uri;
}
Mall电商项目总结(二)——nginx负载均衡配置和策略的更多相关文章
- Nginx 负载均衡配置和策略
Nginx 的 HttpUpstreamModule 提供对后端(backend)server的简单负载均衡.一个最简单的 upstream 写法例如以下: upstream backend { se ...
- Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群
Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Tomcat服务部署与Nginx负载均衡配置
一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- Docker 安装 Nginx 负载均衡配置
Docker 安装 # 1)安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 2)添加Docker软件包源(否则d ...
- Mall电商项目总结(一)——项目概述
项目概述 此电商项目为本人学习项目,后端 使用nginx实现负载均衡转发请求到多台tomcat服务器,使用多台 redis服务器分布式 缓存用户登录信息. 项目已经部署到阿里云服务器,从阿里云linu ...
- Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx负载均衡配置实例详解(转)
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
随机推荐
- 获取某个元素相对于视窗的位置-getBoundingClientRect
1. getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. 语法:这个方法没有参数 rectObject = ...
- Codeforces 23E Tree(树型DP)
题目链接 Tree $dp[x][i]$表示以x为根的子树中x所属的连通快大小为i的时候 答案最大值 用$dp[x][j]$ * $dp[y][k]$ 来更新$dp[x][j + k]$. (听高手说 ...
- 转载:P2P技术原理及应用(1)
转帖allen303allen的空间 作 者:金海 廖小飞 摘要:对等网络(P2P)有3种主要的组织结构:分布式哈希表(DHT)结构.树形结构.网状结构.P2P技术已 经延伸到几乎所有的网络应用领域, ...
- [LibreOJ β Round #4] 子集
显然是个二分图,直接求最大独立就行了. #include<bits/stdc++.h> #define ll long long #define pb push_back using na ...
- Android开发者选项——Gpu呈现模式分析
对于Android用户来说,无论你用的什么品牌的手机,在开发者选项中都能发现“玄学曲线”的开关,之所以称其为玄学曲线,还是因为它被很多网友用于测试一个说不清道不明的东西——流畅度.到底多流畅才叫流畅, ...
- Android学习笔记(35):Android活动条
在Android3.0之后,Google对UI导航设计上进行了一系列的改革,当中有一个很好用的新功能就是引入的ActionBar,用于代替3.0之前的标题栏,并提供更为丰富的导航效果. ActionB ...
- C++11 并发指南四(<future> 详解三 std::future & std::shared_future)(转)
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::pack ...
- 【Access2007】Access2007的打开方式
Access2007提供了多种打开方式 仅仅读与非仅仅读就不用说了,就是能编辑与不可以编辑的差别 是否以独占的方式打开是Access2007的打开方式的核心 这里什么都没有写的打开是指以"共 ...
- tail 监控日志文件
ail命令可以输出文件的尾部内容,默认情况下它显示文件的最后十行.它常用来动态监视文件的尾部内容的增长情况,比如用来监视日志文件的变化.与tail命令对应的是head命令,用来显示文件头部内容. 常用 ...
- Linux高端内存
Linux高端内存是针对物理内存来说的,虚拟内存没有高端这个概念.Linux系统将虚拟内存分为两个部分,即用户地 址空间和内核地址空间,对于32位系统来说,虚拟地址空间为4GB,其中用户空间范围为0- ...