- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目前我们的架构 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指令使用方法一样,每个指令都有使用的上下文 context Nginx API:用于在Lua脚本中访问Nginx变量,调用Nginx提供的函数。 配置指令 set_by_lua /
您可能关注的文档
最近下载
- JGJ 80-2016建筑施工高处作业安全技术规范.pdf VIP
- “正大杯”第十五届全国大学生市场调查与分析大赛参考试题库资料(含答案).pdf VIP
- 浙江省G5联盟2023-2024学年高一下学期期中联考化学试题(解析版).docx VIP
- MC2000系列个人电子剂量计中文用户手册.pdf VIP
- 《建筑装饰设计收费标准》2014.pdf VIP
- OPT奥普特 Smart3智能视觉系统用户手册.pdf VIP
- 战略屋策略体系roadmapPPT模板.pptx VIP
- 巴戟天原料质量标准以及检验操作规程.docx VIP
- 党的纪律与规矩教育 - 党课课件.ppt VIP
- 苏教版科学四年级上册第三单元检测试卷.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)