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,因为这可以避免文件在不同文件系统中被不必要拷贝。
本书是为站长群体编写的一本入门级的书,它的定位是:对网站制作不清楚、对网站程序不了解、想成为一名站长的人。从基本的网站概
《企业级容器云架构开发指南》内容简介:本书由慧与大学组织,由慧与(中国)有限公司容器云项目组的人员完成,书籍内容的蓝本为慧
《智慧银行——未来银行服务新模式》内容简介:随着新一代信息科学技术的迅速发展和广泛应用,各行业正在面临重大变革,酝酿新的突
《梁启超修身三书:德育鉴》内容简介:二十世纪初,梁启超(任公)先后编纂了三种关于传统的修身方面的书。此三书既是梁启超本人用
《欧洲文明的轨迹》内容简介:本书为朱邦造大使的重要论著,作者潜心研究欧洲多年,从欧洲文明的萌芽古希腊、古罗马时期,到漫长的
《支撑处理器的技术:永无止境地追求速度的世界》用通俗易懂的语言和大量的插图,介绍了处理器的历史、基本结构、实现原理等,还对
林桂岚在她的上一本书《设计,不安于室》中提到:落入设计圈的人都具有浪漫情怀。而在这本《挑食的设计》中她则强调被设计圈住的
《设计思维:建筑设计过程解析(原书第3版)》第二版于1990年出版,之后第三版就一直在不停的改写当中。布莱恩·劳森一直在努力了解
《Webpack+Babel入门与实例详解》内容简介:这是一本针对零基础前端开发者讲解Webpack与Babel使用方法的图书。随着前端工程的不断发
《程序员面试逻辑题解析》共分为3个部分。第一部分从有趣且锻炼头脑的谜题入手,继而给出解题思路和详细答案,更有“热身问题”给
《人心红利2:突破流量瓶颈的增长方法论》内容简介:品牌大爆炸时代,消费品市场的老将们与大批国货新锐同台竞技,对消费者的争夺也
《海洋大百科:彩绘图解版》内容简介:本书是一本系统认识海洋、探索海洋、开拓海洋的彩色图文版海洋百科全书。本书共分6章,具体内
数据库应用技术:Access2000 内容简介 MicrosoftAccess2000作为目前应用广泛的数据库管理系统,具有用户界面良好,功能强大,操作简单的优...
《穿透财报:发现企业的秘密》内容简介:这是一本关于中国上市公司财报分析的案例集。但是,它不同于一般的案例集。在这本案例集中
《我陪女儿学英语》内容简介:马丁·路德·金有一篇著名的英文演讲“我有一个梦想”。这段演讲的录音我听过一遍又一遍,一次又一次
《信用卡理财宝典》内容简介:根据我国信用卡政策法规和相关管理制度的最新精神,紧密结合互联网金融特点,本书围绕认识信用卡、选
《胡小闹日记升级经典版·情商篇:不比聪明比努力》内容简介:学校要进行奥数竞赛了,胡小闹发现了同班同学秦奋的一个大秘密:如果
《深入大型数据集cf》内容简介:《深入大型数据集:并行与分布化Python代码》共分3部分,主要介绍如何使用Python语言来处理大型数据
《移动网络程序设计》详细阐述了如何在移动网络浏览器上构建高效和丰富的用户体验程序,以及各种离线应用程序或者微技程序,主要
《好投资与坏投资》内容简介:投资背后是极其重要的生活抉择。好的投资可以让家庭生活变得轻松,让人免受辛苦劳累工作的羁绊。坏的