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 :高性能的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:
转载于:https://blog.51cto.com/12331508/2313699