美文网首页
一篇对Nginx的简单理解

一篇对Nginx的简单理解

作者: vonhng | 来源:发表于2017-08-29 15:22 被阅读30次

这篇文章容易理解一下就看懂了,来源:分布式构架实践-负载均衡

Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。
Nginx主要用来做七层负载均衡。
并发性能:官方支持每秒5万并发,实际国内一般到每秒2万并发,有优化到每秒10万并发的。具体性能看应用场景。

特点

  • 模块化设计:良好的扩展性,可以通过模块方式进行功能扩展。
  • 高可靠性:主控进程和worker是同步实现的,一个worker出现问题,会立刻启动另一个worker。
  • 内存消耗低:一万个长连接(keep-alive),仅消耗2.5MB内存。
  • 支持热部署:不用停止服务器,实现更新配置文件,更换日志文件、更新服务器程序版本。
  • 并发能力强:官方数据每秒支持5万并发;
    功能丰富:优秀的反向代理功能和灵活的负载均衡策略

Nginx的基本工作模式

一个master进程,生成一个或者多个worker进程。
但是这里master是使用root身份启动的,因为nginx要工作在80端口。而只有管理员才有权限启动小于低于1023的端口。
master主要是负责的作用只是启动worker,加载配置文件,负责系统的平滑升级。其它的工作是交给worker。
那么当worker被启动之后,也只是负责一些web最简单的工作,而其他的工作都是有worker中调用的模块来实现的。
模块之间是以流水线的方式实现功能的。流水线,指的是一个用户请求,由多个模块组合各自的功能依次实现完成的。比如:第一个模块只负责分析请求首部,第二个模块只负责查找数据,第三个模块只负责压缩数据,依次完成各自工作。来实现整个工作的完成。
他们是如何实现热部署的呢?其实是这样的,我们前面说master不负责具体的工作,而是调用worker工作,他只是负责读取配置文件,因此当一个模块修改或者配置文件发生变化,是由master进行读取,因此此时不会影响到worker工作。
在master进行读取配置文件之后,不会立即的把修改的配置文件告知worker。而是让被修改的worker继续使用老的配置文件工作,当worker工作完毕之后,直接当掉这个子进程,更换新的子进程,使用新的规则

相关文章

  • 一篇对Nginx的简单理解

    这篇文章容易理解一下就看懂了,来源:分布式构架实践-负载均衡 Nginx(发音同engine x)是一个网页服务器...

  • nginx stream模块

    stream nginx的stream模块是做四层的代理,但nginx是在应用层,可以简单理解为nginx在用户空...

  • nginx 正向,反向代理配置(14)

    获取全套nginx教程,请访问瓦力博客 nginx代理服务,所谓的代理简单理解就是代为办理。生活中常见的代理(代理...

  • 企业实战Nginx+Tomcat动静分离架构

    企业实战Nginx+Tomcat动静分离架构 Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单...

  • 022--Docker使用nginx负载场景

    2、nginx使用 1、简单使用nginx进行页面访问 2、nginx对网址进行概率性负载 3、根据域名进行负载

  • Nginx系列10:nginx的反向代理配置

    1. 理解什么是反向代理 关于反向代理的概念可以参考上一篇文章《Nginx系列9:nginx正反向代理概念与配置》...

  • 对运营的简单理解

    二八定理说明花费二成的精力去完成八成的工作。对运营有了系统性的理解之后,就能够去最小化实践了,在实践的过程中发现问...

  • 对MVVM的简单理解

    一、MVC模式 View在Controller的顶部,Model在Controller的底部; Controlle...

  • 对运营的简单理解

    互联网行业经过这么多年的发展,运营的重要性得到了充分的体现。下一个时代可能就是运营驱动的时代。那什么叫运营呢?鄙人...

  • 对SpringMVC的简单理解

    spring框架以及MVC思想 一:spring框架 spring框架是一种很优秀的框架,它可以帮助开发人员简化组...

网友评论

      本文标题:一篇对Nginx的简单理解

      本文链接:https://www.haomeiwen.com/subject/haiodxtx.html