Nginx高可用模式下的负载均衡与动静分离

Nginx(engine x是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点。

1、处理静态文件、索引文件以及自动索引;打开文件描述符缓冲

2、无缓存的反向代理加速,简单的负载均衡和容错

一、Nginx负载均衡原理

Nginx负责转发到Tomcat(注意:Nginx与Web部署在同一台服务器)。可用下图描述:

说明:

Step1:浏览器发送http请求,通过域名,找到hosts文件下对应的IP。

注:域名工作原理(www.cang.com在网络上申请一个域名,服务器IP要和域名绑定。当访问域名时,要先将域名对应的IP解析出来,去请求服务器的IP。)

当浏览器访问http://域名:80端口时,会将80端口自动打到域名对应IP。如127.0.0.1:80

Step2:Nginx接收浏览器Http请求,对80端口进行拦截,并转发到对应的Tomcat服务器

注:Nginx.config是Nginx的核心配置文件,tomcat服务器地址与拦截信息均配置在该文件中。

二、Nginx神秘面纱

1、负载均衡实战

2、动静分离实战

动态资源:请求后台服务器,做查询、更新、删除等操作,即与DB有交互。(do/action...)

静态资源:图片(ipg,png)css,js...等,客户端第一次请求会将静态资源缓存,下次请求从缓存中取,而不必再请求服务器。

Nginx.conf配置文件:

说明:

upstrewam web1{

server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=302;

//Nginx去连接Tomcat在30秒内失败超过2次(Nginx发送2次心跳),则说明Tomcat挂掉了,需要从名单中移除。

//weight=1(权重)

server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=302;

}

tomcat最大连接数:300-700

若有2000并发,1个Tomcat若处理500个并发,则2个Tomcat不够用。需要再增加Tomcat。

以上说明命中8080有三次,命中8081有1次

以上,Nginx挂掉,则所有的Tomcat服务器全部不可用。所以。。。

1、单节点作战(需要备用Nginx)

2、无法满足高可用

三、Nginx高可用集群实战

高可用集群指当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务。

高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。

在这个过程中,对于客户端来说是透明的。

 Nginx高可用服务流程图

VIP:visual IP (虚拟IP)

需要在主节点与从节点配置VIP(开了一个虚拟IP)。VIP确定访问哪一个Nginx服务器。

先访问主节点,当主节点挂掉。则再根据配置的VIP访问从节点。

应用技术:

1.keepalived安装(应用最多)---目的:保证Nginx不挂掉。

先启动keepalived软件,加载脚本,

keepalived配置文件内容:首先监测Ngnix是否挂掉,进程是否启动。当进程为0,没有Nginx启动时,keepalived会自动将Nginx启动起来。

将主节点的keepalived挂掉(模拟宕机):则此时Nginx存在,不影响访问Nginx。当主节点Nginx挂掉,则从节点变为Master。

2.配置解读

3.主从切换转移

4.基于主从的动静分离和负载均衡

学习网址:

http://www.365yg.com/item/6546186112119865863/

001/Nginx高可用模式下的负载均衡与动静分离(笔记)的更多相关文章

  1. Nginx加多个tomcat实现负载均衡,动静分离

    一:Nginx+Tomcat的动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从 ...

  2. Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...

  3. Nginx+Tomcat在Windows下做负载均衡

    一. 为什么需要对Tomcat服务器做负载均衡 Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的 ...

  4. Nginx+Tomcat负载均衡、动静分离群集

    Nginx+Tomcat负载均衡.动静分离群集 目录 Nginx+Tomcat负载均衡.动静分离群集 一.Tomcat 1. Tomcat简介 2. Tomcat重要目录 二.Nginx负载均衡原理 ...

  5. 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现

    实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...

  6. 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现

    总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...

  7. 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现

    目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...

  8. Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例

    场景 Nginx入门简介和反向代理.负载均衡.动静分离理解 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 Ub ...

  9. 19.Tomcat多实例部署及负载均衡、动静分离

    Tomcat多实例部署及负载均衡.动静分离 目录 Tomcat多实例部署及负载均衡.动静分离 Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置 tomcat 环境变量 修 ...

随机推荐

  1. 使用Webpack的代码分离实现Vue懒加载(译文)

    当一个Vue的项目体积变得十分庞大的时候,使用Webpack的代码分离功能将Vue Components,routes或Vuex的代码进行分离并按需加载,会极大的提高App的首屏加载速度. 在Vue的 ...

  2. Python之路-Python中的线程与进程

    一.发展背景 任务调度 大部分操作系统(如Windows.Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行.任务执行的 ...

  3. 微信小程序request(ajax)接口请求封装

    微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...

  4. MongoDB的使用学习之(二)简介

    原文链接:http://www.cnblogs.com/yxlblogs/p/3681089.html MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前 NoSQL 数据库产品中最热门 ...

  5. ssh免口令密码登录及兼容性处理

    1). client ---> server 客户端发起对服务器的连接,登录服务器. 2). 须在客户端生成密钥对 注意: 公钥加密私钥解:私钥加密公钥解. 可以发布公钥,但私钥是不能出本机的. ...

  6. break语句、continue语句、goto语句的用法辨析

    1.break语句 break语句常使用在switch语句.循环体以及if语句中,它的作用是跳出循环,而且只能跳出一层循环. for (i = 0; i < 10; ++j) { for (j ...

  7. .iml文件恢复

    基于maven的java工程 执行 mvn idea:module可恢复.iml文件

  8. 5.xml约束技术--------schema

    1.schema约束 (1)dtd语法:<!ELEMENT 元素名称 约束> (2)schema符合xml的语法,xml语句 (3)一个xml文件中只能有一个dtd,但是可以有多个sche ...

  9. ckeditor如何能实现直接粘贴把图片上传到服务器中?

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  10. web页面上传大文件有没有好的解决方案

    本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...