当前位置: 首页 > news >正文

(0)Nginx 功能特性

以下内容来源于对《Nginx高性能Web服务器详解》(苗泽 编著)一书学习、摘录。      

        Nginx支持基本HTTP服务高级HTTP服务邮件服务三大类。


一、基本HTTP服务

        可以作为HTTP代理服务器和反向代理服务器,支持通过缓存加速访问,可以完成简单的负载均衡和容错,支持包过滤功能,支持SSL等。

       1、处理静态文件(如HTML静态网页及请求),支持FastCGI、SSL、Virtual Host、URL Rewrite、HTTP Basic Auth、Gzip等大量使用功能;并且支持更多的第三方功能模块的扩展。;处理索引文件以及支持自动索引。
       2、打开并自行管理文件描述符缓存。
       3、提供反向代理服务,并且可以使用缓存加速反向代理,同时完成简单负载均衡及容错。
       4、提供远程FastCGI服务的缓存机制,加速访问,同时完成简单的负载均衡以及容错。
       5、使用Nginx的模块化特性提供过滤器功能。Nginx基本过滤器包括gzip压缩、ranges支持、chunked响应、XSLT、SSI以及图像缩放等。其中,针对包含多个SSI的页面,经由FastCGI或反向代理,SSI过滤器可以并行处理。
       6、支持HTTP下的安全套接层安全协议SSL。

二、高级HTTP服务

        可以进行自定义配置,支持虚拟主机,支持URL重定向,支持网络监控,支持流媒体传输等。

        1、支持基于名字和IP的虚拟主机设置,在以后的章节中大家将看到具体应用。

        2、 支持HTTP/1.0中的KEEP-Alive模式和管线(PipeLined)模型连接。

        3、支持重新加载配置以及在线升级时,无须中断正在处理的请求。

        4、自定义访问日志格式、带缓存的日志写操作以及快速日志轮转。后面章节会讨论其具体应用。

        5、提供3xx~5xx错误代码重定向功能。后面章节会讨论其具体应用。

        6、支持重写(Rewrite)模块扩展。后面章节会讨论其具体应用。

        7、支持HTTP DAV模块,从而为Http WebDAV提供PUT、DELETE、MKCOL、COPY以及MOVE方法。

        8、支持FLV流和MP4流传输。

        9、支持网络监控,包括基于客户端IP地址和HTTP基本认证机制的访问控制、速度限制、来自同一地址的同时连接数或请求数限制等。


三、Nginx邮件代理服务

       nginx邮件代理服务器支持IMAP/POP3代理服务功能,支持内部SMTP代理服务功能。

        1、支持使用外部HTTP认证服务器重定向用户到IMAP/POP3后端,并支持IMAP认证方式(LOGIN、AUTH LOGIN/PLAIN/CRAM-MD5)和POP3认证方式(USER/PASS、APOP、AUTH LOGIN/PLAIN/CRAM-MD5)。

        2、支持使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端,并支持SMTP认证方式(AUTH LOGIN/PLAIN/CRAM-MD5)。

        3、支持邮件代理服务下的安全套接层安全协议SSL。

        4、支持纯文本通信协议的扩展协议STARTTLS。

--------------------------------------------------------------分割线---------------------------------------------------------

负载均衡

        Nginx服务器的负载均衡主要是对大量前端访问和流量进行分流,以保证前端用户访问效率。
        Nginx服务器的负载均衡策略可以划分为两大类:即内置策略和扩展策略。内置策略主要包含轮询、加权轮询和IP hash三种;扩展策略主要通过第三方模块实现,种类比较丰富,常见的有url hash、fair等。
        在默认情况下,内置策略会被编译进Nginx内核,使用时只需要在Nginx服务器配置中设置相关参数即可;扩展策略需要手动将第三方模块编译到Nginx内核。下面简单介绍一下几种负载均衡策略的实现原理。
        轮询策略,就是将每个前端请求按顺序(时间顺序或者排列次序)逐一分配到不同的后端节点上,对于出现问题的后端节点自动排除。

        加权轮询策略,就是在基本的轮询策略上考虑各后端节点接受请求的权重,指定各后端节点被轮询到的几率。加权轮询策略主要用于后端节点性能不均的情况。根据后端节点性能的实际情况,我们可以在Nginx服务器的配置文件中调整权值,使得整个网络对前端请求达到最佳的响应能力。
        IP hash策略,是将前端的访问IP进行hash操作,然后根据hash结果将请求分配给不同的后端节点。事实上,这种策略可以看作是一种特殊的轮询策略。通过Nginx的实现,每个前端访问IP会固定访问一个后端节点。这样做的好处是避免考虑前端用户的session在后端多个节点上共享的问题。
        扩展策略中的url hash在形式上和IP hash相近,不同之处在于,IP hash策略是对前端访问IP进行了hash操作,而url hash策略是对前端请求的url进行了hash操作。url hash策略的优点在于,如果后端有缓存服务器,它能够提高缓存效率,同时也解决了session的问题;但其缺点是,如果后端节点出现异常,它不能自动排除该节点。在实际使用过程中,后端节点出现异常会导致Nginx服务器返回503错误。
        扩展的第三方模块fair则是将前端请求转发到一个最近负载最小的后台节点。Nginx通过后端节点对请求的响应时间来判断负载情况。响应时间短的节点负载相对就轻。得出判断结果后,Nginx就将前端请求转发到选中的负载最轻的节点。

        

相关文章:

  • (2)nginx 安装、启停
  • (3)nginx 配置(nginx.conf)
  • 汇编语言学习笔记--基础知识篇
  • IAR for 430软件的简单使用
  • 430单片机时钟系统与复位系统的配置(1)
  • 430单片机时钟系统与复位系统的配置(2)
  • STM32F103芯片的一些小知识
  • RCC的一些小知识
  • stm32 SPI学习
  • SPI通信过程以及 STM32的SPI特性构架
  • 通讯的基本概念以及分类
  • STM32通用同步异步收发器(USART)
  • STM32 I2C学习
  • STM32定时器学习---基本定时器
  • C语言小知识(1)
  • 网络传输文件的问题
  • 分享的文章《人生如棋》
  • Android系统模拟器绘制实现概述
  • Angular 2 DI - IoC DI - 1
  • HTML-表单
  • Logstash 参考指南(目录)
  • mongo索引构建
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue ES6 Jade Scss Webpack Gulp
  • yii2权限控制rbac之rule详细讲解
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 翻译:Hystrix - How To Use
  • 基于axios的vue插件,让http请求更简单
  • 容器服务kubernetes弹性伸缩高级用法
  • 项目实战-Api的解决方案
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 译有关态射的一切
  • 正则表达式
  • Hibernate主键生成策略及选择
  • NLPIR智能语义技术让大数据挖掘更简单
  • 阿里云服务器如何修改远程端口?
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #FPGA(基础知识)
  • #include
  • (2)nginx 安装、启停
  • (31)对象的克隆
  • (BFS)hdoj2377-Bus Pass
  • (阿里云万网)-域名注册购买实名流程
  • (补)B+树一些思想
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (九)One-Wire总线-DS18B20
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)基于IDEA的JAVA基础12
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)iOS字体
  • (转载)CentOS查看系统信息|CentOS查看命令