nginx基础概念(100%) connection¶ 在nginx中connection就是对tcp连接的封装,其中包括连接的socket,读事件,写事件.利用nginx封装的connection,我们可以很方便的使用nginx来处理与连接相关的事情,比如,建立连接,发送与接受数据等.而nginx中的http请求的处理就是建立在connection之上的,所以nginx不仅可以作为一个web服务器,也可以作为邮件服务器.当然,利用nginx提供的connection,我们可以与任何后端服务打交…
lingering_close,字面意思就是延迟关闭,也就是说,当nginx要关闭连接时,并非立即关闭连接,而是再等待一段时间后才真正关掉连接.为什么要这样呢?我们先来看看这样一个场景.nginx在接收客户端的请求时,可能由于客户端或服务端出错了,要立即响应错误信息给客户端,而nginx在响应错误信息后,大分部情况下是需要关闭当前连接.如果客户端正在发送数据,或数据还没有到达服务端,服务端就将连接关掉了.那么,客户端发送的数据会收到RST包,此时,客户端对于接收到的服务端的数据,将不会发送ACK…
这节我们讲request,在nginx中我们指的是http请求,具体到nginx中的数据结构是ngx_http_request_t.ngx_http_request_t是对一个http请求的封装. 我们知道,一个http请求,包含请求行.请求头.请求体.响应行.响应头.响应体. http请求是典型的请求-响应类型的的网络协议,而http是文件协议,所以我们在分析请求行与请求头,以及输出响应行与响应头,往往是一行一行的进行处理.如果我们自己来写一个http服务器,通常在一个连接建立好后,客户端会发…
在nginx中connection就是对tcp连接的封装,其中包括连接的socket,读事件,写事件.利用nginx封装的connection,我们可以很方便的使用nginx来处理与连接相关的事情,比如,建立连接,发送与接受数据等.而nginx中的http请求的处理就是建立在connection之上的,所以nginx不仅可以作为一个web服务器,也可以作为邮件服务器.当然,利用nginx提供的connection,我们可以与任何后端服务打交道. 结合一个tcp连接的生命周期,我们看看nginx是…
keapalive 当然,在nginx中,对于http1.0与http1.1也是支持长连接的.什么是长连接呢?我们知道,http请求是基于TCP协议之上的,那么,当客户端在发起请求前,需要先与服务端建立TCP连接,而每一次的TCP连接是需要三次握手来确定的,如果客户端与服务端之间网络差一点,这三次交互消费的时间会比较多,而且三次交互也会带来网络流量.当然,当连接断开后,也会有四次的交互,当然对用户体验来说就不重要了.而http请求是请求应答式的,如果我们能知道每个请求头与响应体的长度,那么我们是…
1       Nginx架构 Nginx 高性能,与其架构有关. Nginx架构: nginx运行时,在unix系统中以daemon形式在后台运行,后台进程包含一个master进程和多个worker进程.Nginx以多进程形式工作,也支持多线程方式,丹nginx默认采用多进程方式,也是主流方式. 1.1      Nginx多进程模式 多进程模式,会有一个master进程和多个worker进程. Master进程管理worker进程,包括: 接收来自外界的信号: 向各worker进程发送信号:…
zabbix监控的基础概念.工作原理及架构 转载于网络 一.什么是zabbix及优缺点 Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.是一个基于WEB界面的提供企业级的开源分布式系统监视以及网络监视功能的企业级的开源解决方案. Agent端:主机通过安装agent方式采集数据 Server端:通过收集agent发送的数据,写入数据库(MySQL,ORACLE),在通过php+apache/nginx在web前端展示 Za…
Docker 基础概念 Docker是什么?         Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响.那么我就不需要专门运送瓷器的船和专门运送化学物品的船了.只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走. 不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且…
个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提供一个应用的完整功能. 这样的好处是: 开发更方便了.各微服务不再需要关注其他服务内的细节,直接调用 API 就行. 方便持续集成.升级只需要重新部署更新了的微服务,不需要更新整个应用. 方便拓展.遇到性能瓶颈时,只需要拓展瓶颈所在的微服务,不需要拓展整个应用. 当然,这也带来了一些难点: 业务型微…
kubernetes https://draveness.me/understanding-kubernetes http://kubernetes.kansea.com/docs/ master/node: master:API Server.Scheduler.Controller-Manager node:kubelet(集群代理).docker(容器引擎).kube-proxy //API Server把任务编排后由Scheduler调度,调度的结果就有kubelet执行 Pod:Lab…