一、Nginx执行步调
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
Nginx处理惩罚每一个用户请求时,都是凭据若干个差异阶段(phase)依次处理惩罚的,而不是按照设置文件上的顺序。
Nginx处理惩罚请求的进程一共分别为11个阶段,凭据执行顺序依次是post-read、server-rewrite、find-config、rewrite、post-rewrite、 preaccess、access、post-access、try-files、content、log.
1、post-read读取请求内容阶段,nginx读取并理会完请求头之后就当即开始运行;譬喻模块ngx_realip就在post-read阶段注册了处理惩罚措施,它的成果是迫使Nginx认为当前请求的来历地点是指定的某一个请求头的值。
2、server-rewriteserver请求地点重写阶段;当ngx_rewrite模块的set设置指令直接书写在server设置块中时,根基上都是运行在server-rewrite阶段
3、find-config设置查找阶段,这个阶段并不支持Nginx模块注册处理惩罚措施,而是由Nginx焦点来完成当前请求与location设置块之间的配对事情。
4、rewritelocation请求地点重写阶段,当ngx_rewrite指令用于location中,就是再这个阶段运行的;别的ngx_set_misc(配置md5、encode_base64等)模块的指令,尚有ngx_lua模块的set_by_lua指令和rewrite_by_lua指令也在此阶段。
5、post-rewrite请求地点重写提交阶段,当nginx完成rewrite阶段所要求的内部跳动弹作,假如rewrite阶段有这个要求的话;
6、preaccess会见权限查抄筹备阶段,ngx_limit_req和ngx_limit_zone在这个阶段运行,ngx_limit_req可以节制请求的会见频率,ngx_limit_zone可以节制会见的并发度;
7、access会见权限查抄阶段,尺度模块ngx_access、第三方模块ngx_auth_request以及第三方模块ngx_lua的access_by_lua指令就运行在这个阶段。设置指令多是执行会见节制相关的任务,如查抄用户的会见权限,查抄用户的来历IP是否正当;
8、post-access会见权限查抄提交阶段;主要用于共同access阶段实现尺度ngx_http_core模块提供的设置指令satisfy的成果。satisfyall(与干系),satisfyany(或干系)
9、try-files设置项try_files处理惩罚阶段;专门用于实现尺度设置指令try_files的成果,假如前N-1个参数所对应的文件系统工具都不存在,try-files阶段就会当即提倡“内部跳转”到最后一个参数(即第N个参数)所指定的URI.
10、content内容发生阶段,是所有请求处理惩罚阶段中最为重要的阶段,因为这个阶段的指令凡是是用来生成HTTP响应内容并输出HTTP响应的使命;
11、log日志模块处理惩罚阶段;记录日志
二、Nginx下Lua处理惩罚阶段与利用范畴:init_by_luahttpset_by_luaserver,serverif,location,locationifrewrite_by_luahttp,server,location,locationifaccess_by_luahttp,server,location,locationifcontent_by_lualocation,locationifheader_filter_by_luahttp,server,location,locationifbody_filter_by_luahttp,server,location,locationiflog_by_luahttp,server,location,locationiftimer
init_by_lua:在nginx从头加载设置文件时,运行内里lua剧本,常用于全局变量的申请。譬喻lua_shared_dict共享内存的申请,只有当nginx重起后,共享内存数据才清空,这常用于统计。
set_by_lua:配置一个变量,常用与计较一个逻辑,然后返回功效该阶段不能运行OutputAPI、ControlAPI、SubrequestAPI、CosocketAPI
rewrite_by_lua:在access阶段前运行,主要用于rewrite
access_by_lua:主要用于会见节制,能收集到大部门变量,雷同status需要在log阶段才有。这条指令运行于nginxaccess阶段的末端,因此老是在allow和deny这样的指令之后运行,固然它们同属access阶段。
content_by_lua:阶段是所有请求处理惩罚阶段中最为重要的一个,运行在这个阶段的设置指令一般都负担着生成内容(content)并输出HTTP响应。
header_filter_by_lua:一般只用于配置Cookie和Headers等该阶段不能运行OutputAPI、ControlAPI、SubrequestAPI、CosocketAPI