Nginx url_hashurl_hash与ip_hash类似,但是其按照访问URL的hash结果来分配请求,使得每个URL定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景中,如代码清单4-11所示。代码清单4-11 Nginx url_hashupstream zachary.sh.cn { server 192.168.1.10:8081; server 192.168.1.11:8081; hash $request_uri; hash_method crc32; }6. Nginx least_connleast_conn把请求转发给连接数较少的后端服务器,如代码清单4-12所示。代码清单4-12 Nginx least_connupstream zachary.sh.cn { least_conn; #把请求转发给连接数较少的后端服务器 server 192.168.1.10:8081; server 192.168.1.11:8081; }Nginx least_conn的代理示意如图4-11所示。图片: 图4-11 Nginx/upstream ip_hash代理图4.5 Nginx缓存
使用Nginx代理缓存可以减少后端服务端压力,提升网站性能,减小并发延时。Nginx设置缓存的代码如代码清单4-13所示。代码清单4-13 Nginx设置缓存upstream zachary.sh.cn{ server 192.168.10.1:8081; server 192.168.10.2:8082; } proxy_cache_path /cache levels=1:2 keys_zone=cache:10m max_size=10g inactive=60m use_temp_path=off; server { listen 80; server_name zachary.sh.cn; index index.html; location / { proxy_pass http:// zachary.sh.cn; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_cache cache; proxy_cache_valid 200 304 6h; proxy_cache_valid any 6m; proxy_cache_key $uri$request_body; proxy_cache_methods GET POST; add_header Nginx-Cache "$upstream_cache_status"; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; } }在代码清单4-13中,proxy_cache_path /cache用于设置Nginx缓存资源的存放地址。各参数说明如下。1)levels:按照两层目录分层。2)key_zone:在共享内存中设置一块存储区域来存放缓存的key和metadata(类似使用次数),Nginx可以快速判断一个请求是否命中缓存,1MB可以存储8000个key,10MB可以存储80000个key。3)max_size:最大缓存空间,如果不指定,会使用所有硬盘空间,当达到配额后,会删除最少使用的缓存文件。4)inactive:未被访问文件在缓存中的保留时间。如果文件60分钟未被访问,则不论状态是否为expired,缓存控制程序都会删掉文件。inactive默认是10分钟。需要注意的是,inactive和expired配置项的含义是不同的,expired只是使缓存过期,但不会删除缓存文件,inactive是删除指定时间内未被访问的缓存文件。5)use_temp_path:如果为off,则Nginx会将缓存文件直接写入指定的缓存文件中,而不是使用temp_path存储。official建议为off,因为这可以避免文件在不同文件系统中被不必要拷贝。
Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是
《R用户Python学习指南:数据科学方法》内容简介:掌握一门语言、一种工具已不足以应对当今的数据分析任务,本书旨在解决这一问题,
《PHP与MySQL基础教程(第2版)》采用基于任务的方法来讲授PHP和MySQL,使用大量图片指导读者深入学习语言,并向读者展示了如何构造
《漫画流体力学》以轻松有趣、通俗易懂的漫画及故事的方式将抽象、复杂的流体力学知识融会其中,让人们在看故事的过程中就能完成
《卡通IP时代:品牌卡通形象设计揭秘(第3版·修订版)》内容简介:大IP时代就要来临了,那么到底什么是设计行业的大IP?本书就IP设
《Kotlin编程实践》内容简介:本书的重点不仅在于讲解Kotlin的语法与语义,还将展示何时以及为何应该使用某个指定的语言特性。本书
《向NASA学工程师文化》内容简介:太空探索既是一个关于探索和发现的故事,也是一个关于领导力和团队合作的故事。本书深入探讨了NA
书是讲述下一代编程语言Erlang的权威著作,主要涵盖顺序型编程、异常处理、编译和运行代码、并发编程、并发编程中的错误处理、分
《欧阳询皇甫诞碑》内容简介:皇甫诞,安定乌氏(今甘肃平凉西北)人,隋并州总管司马。隋炀帝弑父杀兄取得皇位,时任并州总管的隋
Afascinatingexplorationofhowinsightsfromcomputeralgorithmscanbeappliedtoourevery...
《信息图表设计入门》是一本信息图表制作的实用入门书。信息视觉化是一种潮流,无论是商业宣传活动、专业设计领域还是制作供非专
华为技术认证-HCNP路由交换学习指南 本书特色 本书是配套华为HCNP-R&S的学习指导用书,全书共包含14章,内容包括路由基础、RIP、OSPF、IS-IS...
《从大数据到智能制造》内容简介:工业4.0已上升为德国的民族战略;日本软银集团创始人孙正义试图以机器人作为工业4.0的切入点;英
内容简介:本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致
TheVisualMiscellaneumisaunique,groundbreakinglookatthemoderninformationage,helpi...
《Canon EOS 6D数码单反相机完全剖析手册》内容简介:本书是一本关于CanonEOS6D数码单反相机的实用性使用手册,并对相应功能设置与
《新城市中国》内容简介:中国的城市经营同样需要战略咨询。本书汇集了智纲智库为各地方政府参谋策划的经典案例。从北京到成都、从
《最新考博英语命题人高分策略:翻译强化特训》内容简介:博士研究生入学英语考试主要测试听力、语法、词汇、阅读理解、完形填空、
交互设计 本书特色 《交互设计》共7章内容,以移动端app开发流程为框架,以交互设计原理为内容进行app设计开发。主要论述了移动端app设计与用户体验,移动端a...
《数据科学之编程技术》内容简介:本书围绕使用R进行数据科学编程所需的实际步骤展开。全书着眼于该主题,介绍了有关该主题的工具和