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,因为这可以避免文件在不同文件系统中被不必要拷贝。
《先学会爱自己,再遇见对的你》内容简介:在这本书出版之际,周梵与她先生的婚姻马上要进入第十个年头。从相爱到婚姻的十四年里,
《素描800例,一本就够》内容简介:本书提供了动物、静物、植物、食物、人物、交通、建筑、风景等类别中的131种事物,共计867幅图例
《掘金:互联网+时代创业黄金指南》内容简介:“互联网+”这个词随着政府工作报告变得炙手可热,这个词既是对过去已经发生的总结,
Userexperiencedesignteamsoftensufferfromadecentralized,blankcanvasapproachtocrea...
《Node.js硬实战:115个核心技巧》是一本面向实战的Node.js开发进阶指南。作为资深专家,《Node.js硬实战:115个核心技巧》作者独
本书是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例3方面的有用资料,为读者打下C++模板知识的坚实基础。全书共
《新能源汽车与新型蓄能电池及热电转换技术》详尽介绍了世界和中国在新能源汽车与新型蓄能电池、热电转换技术领域的发展现状与前
金蝶ERP:K/3标准财务培训教程(11.X版) 本书特色 本书对金蝶ERP-K/3 V11.0标准财务系统模块进行了详细讲解,同时辅以大量实例,读者可以轻松、...
《常春藤英语(精编版·七级)》内容简介:本书根据《常春藤英语·七级(一~四)》四本书进行修订,从中选取难度相对较低的文本,并
全球第一本Docker技术图书中文版,Docker中文社区鼎力支持!Docker核心团队成员权威著作,在技术圈中很有影响力。既是第一本Dock
在这个信息技术无所不在的时代,编程能力正在变得越来越重要。C++以高性能、易移植而著称,而且同时支持过程式、面向对象和泛型编
Visual Foxpro程序设计教程 本书特色 本书围绕“岳麓书院图书管理系统”实例,完整地描述了数据库应用系统开发的各个环节,将系统开发的具体步骤详细地贯穿...
CSS是一种强大而优美的工具,它的潜力远远超过我们的想象。本书中世界级CSS大师EricMeyer讲述了自己极富价值的CSS项目经验,运用
MS Office真题演练与实战-全国计算机二级等级考试辅导教程 本书特色 培养应用型人才是近年来各高校、大专、中职、中专、技校培养学生的重要目标。本着教学与社...
《网络安全态势感知:提取、理解和预测》内容简介:本书分为四个部分:基础知识、态势提取、态势理解和态势预测。每章都会重点讨论
Whydosomepeoplesucceedatchangewhileothersfail?Itsthewaytheythink!Liminalthinking...
《从零开始学炒股票与基金(全彩图解版)》内容简介:本书零基础、全图解,以通俗易懂的实战演练方式详细讲解了炒股票与炒基金的基
《机器意识:人工智能如何为机器人装上大脑》内容简介:科学是对宇宙运行的基本原理的研究,很大程度上基于实验和观察。这种一贯统
著名新经济作家、趋势大师唐·泰普斯科特,多年来笔耕不辍,佳作不断,十多年前的一本《数字化经济》预言了新经济时代的到来;十
《2021年MBA MPA MAPcc MEM管理类联考综合能力逻辑高分指南(考点精讲与分类精练)》内容简介:本书主要内容为管理类联考逻辑应试辅