nginx学习笔记一 : IO模型及nginx

Nginx:
web服务器:http协议;
http协议:html, MIME(多用途互联网邮件扩展)
major/minor :
text/html, text/plain, image/jpeg,..
web资源:URL ( scheme://server: port/path/to/source)
http:80 https:443
方法 :GET, HEAD, POST,PUT,DELETE, TRACE, OPTIONS,...
WEBDAV
http事务:request<-->response
request:
<metchod><URL><version>
...
<body>
response :
<version><status><reason phrase>
<HEADERS>
...
<body>

status:
1xx : 信息类
2xx: 成功类,200
3xx: 重定向,301,302,304
4xx: 错误类,客户端错误,404,403
5xx: 错误类,服务器端错误,502
认证 : basic, digest

httpd: MPM
prefork, worker, event

I/O模型:
同步:synchronous,等待对方返回消息;
异步:asynchron
异步,被调用者通过消息、通知或回调
状态:调用者每隔一段时间就需要检查一次;
通知:
回调;

阻塞/非阻塞
关注调用者等待结果返回之前所处的状态;
阻塞:block,调用结果返回之前,调用者会被挂起;调用者返回之后才能唤醒
非阻塞:nonblock,调用结果返回之前,调用者不会被挂起;

/22222///
I/O:
网络IO:本质是socket读取数据流;
磁盘IO:流;

  每次IO,都会经由两个阶段;

        第一步:数据先加载至内核内存空间(缓冲区);
        第二部:数据从内核缓冲区复制到用户空间的进程的内存中去;
          等待数据准备完成;
        数据从内核复制到进程;

I/O模型:
同步阻塞:调用结果返回之前,调用者会被挂起;调用者返回之后才能唤醒
同步非阻塞 :nonblock,调用结果返回之前,调用者不会被挂起
IO multipexing: select ,poll
Signal Driven IO :
Asynchronous IO
IO调用过程:磁盘----->内存内核空间----------->用户
nginx学习笔记一 : IO模型及nginx

Nginx :高性能的HTTP 网页服务器,反向代理,电子邮件POP3/IMAP代理服务器;
C10k, http://nginx.org/ 设计并发连接超过10000个的数量,高并发
engin X: nginx
二次开发版:tengine(淘宝二次开发), openresty
Nginx的特性:
模块化设计,较好的扩展性;
高可靠性
master/worker
支持热部署机制
不停机更新配置文件、更换日志文件、更新服务器程序版本;
低内存消耗
10000个keep-alive连接模式下的非活动连接仅消耗2.5M内存;
特性:event-driven,支持aio, 支持mmap

基本功能:
静态资源的web服务器;
http协议反向代理服务器;
pop3/imap4协议反向代理服务器;
FastCGI(lnmp),uWSGI等协议;
模块化(非DSO);著名有zip, SSL,...;

   web服务器相关的功能:
          虚拟主机、keepalive、访问日志、url rewrite、路径别名、基于ip及用户的访问控制、支付               
          速率限制及并发数限制,... ;

Nginx的程序架构:
master/worker
一个master进程,可生成一个或多个worker进程;就是一个进程响应多个请求;
master用途:加载配置文件、管理worker进程、平滑升级、......
worker用途 : http服务、http代理、fastcgi代理、.....

Nginx arch:
nginx学习笔记一 : IO模型及nginx

转载于:https://blog.51cto.com/12331508/2313699

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值