目前我们的架构 Browser Nginx APP DB LVS Business Content CDN httpsqs ajax 404 proxy 得到的收益 业务更加稳定 – Nginx大连接数目支持非常好 – Nginx本身的内存占用很少,不会吃swap 业务性能更高 – QPS比Apache要好 – 节省机器数目 – 基于Nginx的模块性能往往是之前业务的数倍 Nginx的知识预备 Nginx进程模式 nginx采用多进程,单Master多Worker Master处理外部信号,配置文件以及worker的初始化 worker进程采用单线程,非阻塞(Event loop)来处理客户端请求和响应 Nginx处理Http请求的过程 client server location Ip host port url phase Nginx处理Http请求的过程 NGX_HTTP_POST_READ_PHASE 读取请求phase NGX_HTTP_SERVER_REWRITE_PHASE 这个阶段主要是处理全局的(server block)的rewrite NGX_HTTP_FIND_CONFIG_PHASE 这个阶段主要是通过uri来查找对应的location,然后根据loc_conf设置r的相应变量 NGX_HTTP_REWRITE_PHASE 这个主要处理location的rewrite NGX_HTTP_POST_REWRITE_PHASE postrewrite,这个主要是进行一些校验以及收尾工作,以便于交给后面的模块。 NGX_HTTP_PREACCESS_PHASE 比如流控这种类型的access就放在这个phase,也就是说它主要是进行一些比较粗粒度的access。 Nginx处理Http请求的过程 NGX_HTTP_ACCESS_PHASE 这个比如存取控制,权限验证就放在这个phase,一般来说处理动作是交给下面的模块做的.这个主要是做一些细粒度的access NGX_HTTP_POST_ACCESS_PHASE 一般来说当上面的access模块得到access_code之后就会由这个模块根据access_code来进行操作 NGX_HTTP_TRY_FILES_PHASE try_file模块,就是对应配置文件中的try_files指令,可接收多个路径作为参数,当前一个路径的资源无法找到,则自动查找下一个路径 NGX_HTTP_CONTENT_PHASE 内容处理模块 NGX_HTTP_LOG_PHASE log模块 子请求(subrequest) location /main { echo_location /foo; } location /foo { echo foo; } “子请求”方式的通信是在同一个虚拟主机内部进行的,所以 Nginx 核心在实现“子请求”的时候,就只调用了若干个 C 函数,完全不涉及任何网络或者 UNIX 套接字(socket)通信。我们由此可以看出“子请求”的执行效率是极高的。 (有备注) 协程 协程类似一种多线程,与多线程的区别有: 协程并非os线程,所以创建、切换开销比线程相对要小。 协程与线程一样有自己的栈、局部变量等,但是协程的栈是在用户进程空间模拟的,所以创建、切换开销很小。 多线程程序是多个线程并发执行,也就是说在一瞬间有多个控制流在执行。而协程强调的是一种多个协程间协作的关系,只有当一个协程主动放弃执行权,另一个协程才能获得执行权,所以在某一瞬间,多个协程间只有一个在运行。 由于多个协程时只有一个在运行,所以对于临界区的访问不需要加锁,而多线程的情况则必须加锁。 多线程程序由于有多个控制流,所以程序的行为不可控,而多个协程的执行是由开发者定义的所以是可控的。 协程(简单的说) 协程(coroutine)和线程的区别在于调度方式的差异,即让出CPU给别的执行绪(切换)的时机不同: 线程:主动让出(yield)、I/O阻塞、时间片到 协程:主动让出(yield)、I/O(协程间通信)阻塞 Ngx_lua Ngx_lua安装 下载 http_lua_module ,加载编译 或直接使用 openresty ./configure --with-luajit make make install / ngx_lua的用法 ngx_lua模块提供了配置指令和Nginx API。 配置指令:在Nginx中使用,和set指令和pass_proxy指令使用方法一样,每个指令都有使用的上下文(con
您可能关注的文档
- 2016届高三历史(通史版)大一轮复习模块六专题十四第40课时美苏争锋、新兴力量的崛起和走向多极化解说.ppt
- netool简介解说.ppt
- 不间断电源系统UPS基础解说.ppt
- 不精确推理解说.ppt
- 不盲从作文解说.ppt
- NETSCREEN防火墙操作培训解说.ppt
- 2016届高三年级高考总复习物理《创新》(人教版)一轮第4章曲线运动、万有引力与航天第3讲解说.ppt
- 不能忘记的战争苦难解说.ppt
- Ch02-04氨基酸肽和蛋白质解说.ppt
- 2016届高三年级高考总复习物理《创新》(人教版)一轮第9章9.2法拉第电磁感应定律、自感和涡流解说.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)