Nginx学习笔记06负载均衡之(一)负载均衡介绍

1.1.1. 负载均衡的介绍

Nginx中使用upstream配置块,可以方便的配置出一个基于反向代理的负载均衡解决方案。

在upstream中可以包含多个server配置项,每个server配置项指定一个主机地址和端口号,代表一个主机(上游服务器)。

在proxy_pass配置反向代理时,可以不指定最终的主机地址,而是只指定upstream配置块指定的引用名称。在本文中,upstream配置了一个包含三个主机地址的负载均衡主机集群。

配置内容:

http {

include       mime.types;

default_type  application/octet-stream;

upstream  tomcat {

server tomcat101.coe2coe.me:8080;

server tomcat141.coe2coe.me:8080;

server tomcat142.coe2coe.me:8080;

}

server {

listen       8000;

server_name  ng.coe2coe.me;

location / {

root   html;

index  index.html;

}

location ~  ^/hello/ {

proxy_pass  http://tomcat;

}

}

}

运行结果:

在浏览器中访问http://ng.coe2coe.me:8000/hello/时,将会根据主机是否可用的状态,默按照upstream配置的次序依次选择其中一台主机进行请求和响应的转发。

以下三张图片是nginx启动后前三次访问(Ctrl+F5)时的结果:

默认使用依次轮询策略,依次选用的主机是tomcat101, tomcat141,tomcat142。

第1次访问:

第2次访问:

第3次访问:

在将tomcat141主机(192.168.197.141)的tomcat服务关闭后,将不会看到来自tomcat141的响应页面。有时候会出现多次请求仅转发到同一个主机的情况,比如Ctrl+F5多次,都是请求的tomcat142,而不见有tomcat101。

时间: 2024-08-02 06:55:40

Nginx学习笔记06负载均衡之(一)负载均衡介绍的相关文章

nginx学习笔记之基于端口的虚拟主机基于主机名的虚拟主机root、alias、index配置

nginx学习笔记之基于端口的虚拟主机基于主机名的虚拟主机root.alias.index配置 实验环境: centos 测试节点IP:172.16.3.101 基于端口的虚拟主机: vim /etc/nginx/nginx.conf # 向里面的http {}里面加入如下内容   server { # server定义一个虚拟主机         listen 8080; # 监听本机所有IP端口8080         server_name www.test.com; # 虚拟主机名为:w

iOS学习笔记06—Category和Extension

iOS学习笔记06—Category和Extension 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类). 二.示例 1.声明类别 @interface NSString (CategoryDemo) -(NSNumber*)

Nginx学习笔记23TCP负载均衡

TCP负载均衡的配置和HTTP负载均衡的配置很相似. (1)Nginx配置文件. stream { upstream myserver{ server 192.168.197.101:2101; server 192.168.197.101:2102; server 192.168.197.101:2103; hash $remote_addr consistent; } server { listen 2001; proxy_connect_timeout 3s; proxy_timeout

[原创]java WEB学习笔记06:ServletContext接口

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

stm32寄存器版学习笔记06 输入捕获(ETR脉冲计数)

STM32外部脉冲ETR引脚:TIM1-->PA12;TIMER2-->PA0:TIMER3-->PD2;TIMER4-->PE0… 1.TIM2 PA0计数 配置步骤 ①开启TIM2时钟,配置PA0输入 APB1外设复位寄存器 (RCC_APB1RSTR) APB2外设时钟使能寄存器(RCC_APB2ENR) 置1开启.清0关闭. Eg:RCC->APB1ENR|=1<<0; //使能TIM2时钟  RCC->APB2ENR|=1<<2;  

Nginx学习笔记07负载均衡之(二)主机分配策略和主机失效参数

1.1.1. 主机失效参数配置 Nginx的upstream配置块中的server配置项提供了多个参数来控制主机失效时如何处理,用于提高负载均衡配置的实用性. 参数 描述 weight 主机的权重.默认为1. max_fails 主机失败的最大次数.默认为1.超过此次数主机临时不可用.值为0表示不对此主机做失败检查. fail_timeout 主机超过max_fails次数后在fail_timeout时间内临时不可用.默认为10秒. down 永久不可用.参与ip_hash. backup 备份

Nginx学习笔记二基本配置

1.Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下,主配置文件为nginx.conf.假设您的Nginx安装 在/usr/local/webserver/nginx/目录下,那么默认的主配置文件则为/usr/local/webserver/nginx/nginx.conf.2.Nginx配置参数:(1)user www www 指定使用的用户和用户所在的组(2)worker_processes 8 指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍,如两个四核CPU,

Nginx学习笔记六Nginx的模块开发

1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均衡相关配置)这部分指令用于设置反向代理及后端服务 器的负载均衡.location(目录匹配配置)这部分指令用于匹配网页位置(例如,根目录"/","/images",等 等). location部分会继承server部分的指令,而server部分会继承main部分的指令.

Nginx学习笔记(一)

一.Nginx的特点与作用 Nginx可以更快地响应请求. Web和反向代理服务器 支持非常多的服务器软件特性 处理静态资源 用作反向代理 用作负载均衡 二.Nginx编译安装 2.1 准备工作 操作系统:CentOS7.3 IP地址:10.0.0.110 yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.2 添加用户 useradd -r nginx 2.3 编译安装 ./configure -