nginx负载均衡配置

负载均衡算法 : 加权轮询

有些话、适合烂在心里 提交于 2020-03-07 03:51:46
1 加权轮询算法背景 轮询算法没有考虑每台服务器的处理能力,实际情况是每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,加权轮询算法的原理就是:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能接受相应权值数的服务请求。 首先看一个简单的Nginx负载均衡配置。 http { upstream cluster { server a weight=1; server b weight=2; server c weight=4; } ... }   按照上述配置,Nginx每收到7个客户端的请求,会把其中的1个转发给后端a,把其中的2个转发给后端b,把其中的4个转发给后端c。 2 加权轮询算法描述 假设有 N 台实例 S = {S1, S2, …, Sn},配置权重 W = {W1, W2, …, Wn},有效权重 CW = {CW1, CW2, …, CWn}。每个实例 i 除了存在一个配置权重 Wi 外,还存在一个当前有效权重 CWi,且 CWi 初始化为 Wi;指示变量 currentPos 表示当前选择的实例 ID,初始化为 -1;所有实例的配置权重和为 weightSum; 那么,调度算法可以描述为: 初始每个实例 i 的 当前有效权重 CWi 为 配置权重 Wi,并求得配置权重和 weightSum; 选出 当前有效权重 最大 的实例,将

Nginx实现负载均衡 + Keepalived实现Nginx的高可用

↘锁芯ラ 提交于 2020-03-03 17:59:38
前言   使用集群是大中型网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求和用户量。这种情况下,更恰当的做法是增加一台或多台服务器去分担原有服务器的访问及存储压力。通过 负载均衡调度服务器,将来自浏览器的访问请求分发到应用服务器集群中的任何一台服务器上 ,如果有更多的用户,就在集群中加入更多的应用服务器,使应用服务器的负载压力不再成为整个网站的瓶颈。 环境准备   192.168.0.221:nginx + keepalived master (主)   192.168.0.222:nginx + keepalived backup slave (从)   192.168.0.223:tomcat   192.168.0.224:tomcat   虚拟ip(VIP):192.168.0.200,对外提供服务的ip,也可称作浮动ip   各个组件之间的关系图如下: Tomcat做应用服务器    tomcat 的安装不在本博客范围之内,具体例子网上很多在此就不讲解, tomcat 的 webapps 下记得放自己的应用,我的是 myWeb ,如果大家也用我的 myWeb ,那么index.jsp中的ip需要换成自己的   将192.168.0.223

Docker下Nginx+Tomcat实现负载均衡

荒凉一梦 提交于 2020-03-02 22:22:38
1.在宿主机安装docker并启动 2.拉取nginx、tomcat镜像。 3.启动tomcat镜像并创建新首页 docker run - d - p 8081 : 8080 -- name tomcat1 tomcat镜像ID docker run - d - p 8082 : 8080 -- name tomcat2 tomcat镜像ID docker run - d - p 8083 : 8080 -- name tomcat3 tomcat镜像ID 配置新首页 vi index1.jsp hello world vi index2.jsp hello world2 vi index3.jsp`` hello world3 三个容器分别执行 docker cp index1 . jsp tomcat1 : / usr / local / tomcat / webapps / ROOT / index . jsp docker cp index2 . jsp tomcat2 : / usr / local / tomcat / webapps / ROOT / index . jsp docker cp index3 . jsp tomcat3 : / usr / local / tomcat / webapps / ROOT / index . jsp 4.启动nginx容器

负载均衡

南笙酒味 提交于 2020-03-02 20:32:15
负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。 负载均衡算法 1、轮询法 轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。 2、随机法 随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子[5]。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。 3、最小连接法 最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。 负载均衡实现 硬件实现 F5 软件实现方式 LVS(四层) nginx 或haproxy (七层) LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的

Nginx 配置实例之负载均衡 centos环境

天涯浪子 提交于 2020-03-02 18:00:31
实现效果 (1)浏览器地址栏输入地址 http://192.168.216.131/edu/a.html ,负载均衡效果,平均8080和8081端口中。 准备工作 (1)准备两台tomcat服务器,一台8080,一台8081 (2)在两台tomcat里面webapps目录中,创建名称是edu文件夹,在edu文件夹中创建页面a.html,用于测试 配置nginx负载均衡配置 找到nginx目录下conf中的nginx.conf 配置两块地方,其中upstream 后面的myserver是自己起的一个名字,涌入下面代理的,具体如下图: 最后我们从新启动一下nginx就可以了 效果展示,能刷新实现负载到两个tomcat中即可 nginx分配服务器的策略 第一种 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除 第二种 weight weight 代表权重默认为1,权重越高被分配的客户端就越多 第三种 ip_hash 每个请求按访问的ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session共享问题 第四种 fair 按后端服务器的响应时间来分配请求,响应时间短的优先分配 来源: oschina 链接: https://my.oschina.net/luocx/blog/3185299

nginx tomcat负载均衡配置

此生再无相见时 提交于 2020-03-02 06:09:54
步骤一:到nginx官网下载nginx, 我是下载的最新版本 nginx/Windows-1.9.10 , 下载链接 http://nginx.org/en/download.html。 步骤二:将下载下来的文件解压,打开nginx-1.9.10 conf目录,修改nginx.conf。找到#gzip on;这句代码 在代码下面配置要代理的tomcat upstream localhost { server localhost:8081 weight=1; server localhost:8082 weight=2; } server { listen 9000; //默认端口是80被占用了,所以改成9000了 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_pass http://localhost ; } 在location配置里面加上红色字体代码; 配置好之后到nginx-1.9.10目录下shift+鼠标右键

nginx+tomcat实现负载均衡

风格不统一 提交于 2020-03-02 04:11:03
1.什么是tomcat? Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 其主要的应用场景是解析动态程序代码(JAVA) JSP程序可以处理Tomcat界面 2. 配置nginx+tomcat实现负载均衡 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/解压到指定目录下面,这么目录随便 tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/ cd /usr/local/进入指定的解压目录 ls查看 ln -s apache-tomcat-7.0.37 tomcat给tomcat服务做一个软连接 vim /etc/profile在环境变量当中加入java命令 export JAVA_HOME=/usr/local/jdk1.7.0_79 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin source /etc/profile使其生效 java可以tab java -version查看java的版本 测试JAVA程序成功,说明环境配置没有问题。

架构:亿级Web系统负载均衡几种实现方式

扶醉桌前 提交于 2020-03-01 22:37:31
负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。 什么是web负载均衡 服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: 高性能集群:将单个重负载的请求分散到多个节点进行处理,最后再将处理结果进行汇总。 高可用集群:提高冗余单元,避免单点故障。 负载均衡集群:将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。 一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展,避免纵向的升级换代。本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。 基本原理 任何的负载均衡技术都要想办法建立某种一对多的映射机制: 一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。 这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。 采用不同的机制建立映射关系

nginx+tomcat实现负载均衡

六月ゝ 毕业季﹏ 提交于 2020-03-01 19:44:24
1.tomcat是什么? Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器 ,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 HTML ( 标准通用标记语言 下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 2.nginx代理tomcat实现负载均衡 首先,整理思路。我有三台机器: nginx代理服务器:172.25.60.9 tomcat服务器1:172.25.60.7 tomcat服务器2:172.25.60.8 1.两台tomcat服务器安装tomcat: 需要安装jdk运行环境和tomcat 2.启动tomcat 查看端口: 2.浏览器测试: 3.编辑测试文件: 4.浏览器测试: 5.在nginx代理服务器编辑配置文件,作代理: 6.浏览器测试:实现负载均衡 来源: CSDN 作者: monster_hahaha 链接: https://blog.csdn.net/qq_42806574/article/details/104596065

大型系统的发布部署方案

痞子三分冷 提交于 2020-03-01 06:37:37
动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。   大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。   大型动态应用系统又可分为几个子系统:   1)Web前端系统   2)负载均衡系统   3)数据库集群系统   4)缓存系统   5)分布式存储系统   6)分布式服务器管理系统   7)代码分发系统   Web前端系统   结构图:   为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。该Web前端系统基于Apache/Lighttpd/Eginx等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理   负载均衡系统   负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费