一.Ngnix介绍
1.概念
一个强大的Web服务器软件.
2.功能
1)处理高并发的http请求.
2)作为反向代理服务器来进行负载均衡.
3)数据压缩和解压缩处理
3.优势
高性能,轻量级,内存消耗少,强大的负载均衡能力等.
二.Master/Worker进程
Ngnix启动后,在系统中以daemon的方式在后台运行,包含一个Master进程和n(n>=1)个Worker进程.
Master进程:接受来自外界的信号,给Worker进程发送信号,监控Worker进程的工作状态.
Worker进程:外部请求的真正处理者.一个Worker进程只能有一个主线程.
高并发的处理方式:异步非阻塞(即单线程,非阻塞,异步IO的工作模型),相比apache,ngnix省去了线程上下文切换所带来的资源开销.
三.如何进行http请求处理
1.Master进行fork每个Worker进程.
2.Worker进程调用accept接受连接(此步比较复杂).
3.开始读取请求,解析请求,处理请求,断开连接.
四.如何进行负载均衡
Ngnix支持的通信协议:http,https.
ngnix以反向代理的方式进行负载均衡.
反向代理方式:指以代理服务器来接受请求,然后代理服务器将请求转发给内网服务器,获取内网服务器结果后返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器.
正向代理方式:指一个位于客户端和目标服务器之间的服务器,客户端向代理服务器发送一个请求并指定目标服务器,然后代理向目标服务器转交请求并获得内容返回客户端.(插播)
五.压缩解压缩处理
压缩:数据发送客户端之前,ngnix会对响应做压缩,如果后端服务器已经进行了压缩处理,则ngnix就不再进行压缩.
解压缩:解压缩指令在预编译的开源ngnix中没有,属于一个单独的模块,需要编译到ngnix中去.
六.负载均衡技术(补充)
硬件层面:F5负载均衡器
网络层面:LVS(Linux Virtual Server)
应用层面:Nignix,Haproxy等.

Ngnix学习笔记的更多相关文章

  1. Nginx学习笔记4 源码分析

    Nginx学习笔记(四) 源码分析 源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_ ...

  2. golang学习笔记8 beego参数配置 打包linux命令

    golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...

  3. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. 常见的.NET面试题(130)

    1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...

  2. git是一种思路,解决问题的算法

    w 首先,弄清思路.算法:这是高效学习.高效产出的方法.

  3. GDI+绘制图形和画刷填充图形

    GDI+可以再Windows窗体应用程序中以编程方式绘制图形等. 可以在VS里新建项目-Windows窗体应用程序-建一个窗体.首先引入命名空间using System.Drawing.Imaging ...

  4. 【生产问题】-dbcc checkdb报错-数据页故障

    更多操作参考:https://www.cnblogs.com/gered/p/9435282.html [生产问题]-dbcc checkdb报错-数据页故障 数据页故障,索引页故障 use db_t ...

  5. Meta 数据中文显示

      class Meta:verbose_name='待办事项'verbose_name_plural = verbose_name这是什么意思? verbose_name指定在admin管理界面中显 ...

  6. 使用PLSQL Developer和DbVisualizer、SQLDBx查询oracle数据库时出现乱码

    使用PLSQL Developer和DbVisualizer查询oracle数据库时,出现查询数据中文乱码情况. 查看了一下数据库编码格式select * from v$nls_parameters; ...

  7. 2015.7.8(千股跌停!做T不应当只做中色,中国软件)

    2015.7.81.今天开盘所有的股票全部跌停,真是一大奇观! 今天中色股份和以往不同买卖盘为正! 但是中色的爬升比较慢,价位始终没有高过昨天的收盘价————这种情况下是否应该做T呢? 2.做T不应当 ...

  8. rails generator

    generate 查找顺序 rails/generators/initializer/initializer_generator.rb generators/initializer/initializ ...

  9. jQuery开发入门

    jQuery是JavaScript库中的优秀一员. 下载完jQuery框架文件jquery-1.9.0.js 后,不需要任何安装,仅需使用<script>文件导入标记,将该框架文件导入页面 ...

  10. Dubbo框架入门介绍

    背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个 ...