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,因为这可以避免文件在不同文件系统中被不必要拷贝。
《摄影构图零基础入门教程》内容简介:构图是决定摄影作品成败的关键因素之一。本书对基本的构图常识、黄金构图的概念及实战应用、
《数据库可靠性工程:数据库系统设计与运维指南》内容简介:数据是当今企业的宝贵资产,设计、构建并维护数据存储的重要性不言而喻
专转本计算机应用基础考试核心密卷 内容简介 本书紧扣2005年计算及应用基础考试内容,分理论题和操作题两部分。本书前十套试卷是对计算机应用基础知识体系与操作实践...
为什么Windows的工作方式是这样的?.为什么“关闭计算机(ShutDown)”选项要放在开始菜单中?为什么会设计一个“开始(Start)”
《期权36课:基本知识与实战策略》内容简介:这本书的目标读者是刚开始学习期权以及有一定期权基础,但又想提高实践与理论相结合能
《最后一个人类》内容简介:你是否想过,人类遭受的疾病、衰老和死亡并非命中注定? 你是否认同,人类的身体系统是有缺陷的,可以通
Whydosomepeoplesucceedatchangewhileothersfail?Itsthewaytheythink!Liminalthinking...
嵌入式与实时系统开发:使用UML、对象技术、框架与模式 本书特色 本书无疑是这一领域中创作的著作……每个人都可以把它作为教材和参考书。本书深入浅出地介绍实时系统...
《悦吃悦瘦》内容简介:本书首先揭开众多的减肥产品的真面目,帮助读者走出减肥的误区,告诉读者如何通过合理饮食来达到减肥的目的
Adobe Photoshop CS6中文版经典教程-(彩色版)-(附光盘) 本书特色 《adobe photoshop cs6中文版经典教程(附光盘彩色版)》...
【有关家居的一期】2014年KINFOLK春季刊旨在探究“家的意义”。比如,家的理想模样,因人而异的家居布置风格以及美好的家所共享的
《你不知道的JavaScript(中卷)》内容简介:JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的Ja
《钢琴套曲·胡桃夹子》内容简介:本书根据前苏联作曲家普罗科菲耶夫与1936年所作交响童话《彼得与狼》(作品67)而改编的钢琴套曲
Consideredoneofthemostintricatewritingsystemsinuse,Chinesecharactersholdapresenc...
《读老庄之道悟生活智慧》内容简介:老子与庄子主张精神上的逍遥自在,主张宇宙万物都有平等的性质,主张人要融于自然万物,从而与
《深入分析GCC》内容简介:本书将围绕GCC编译过程,详细介绍从源代码到AST、从AST到GIMPLE、从GIMPLE到RTL,以及从RTL到最终的目标
随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚
VB-MAPP语言行为里程碑评估及安置程序-(全2册) 本书特色 这套《语言行为里程碑及安置程序》为教育人员和家长对孤独症和其他发展性障碍孩子的学习、语言和社会...
群体智能与大数据分析技术 本书特色 大数据时代正式到来,群体智能作为人工智能的一个分支,正在影响大数据的应用。本书首先概述了大数据与群体智能的相关研究,然后分别...
《狂想曲:克苏鲁趣味角色插画图鉴》内容简介:如果用萌趣的风格来表现克苏鲁神话中恐怖奇异的角色,会是怎样的效果呢?如果你抱着