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,因为这可以避免文件在不同文件系统中被不必要拷贝。
《微说论语》内容简介:《论语》是儒家经典著作,古人云的时代已经过去,但古人对话中的内涵却一直对我们有着深刻的影响。如何将知
移动学习理论与实践 本书特色 《移动学习理论与实践》通过对移动学习的理论分析,探讨了与其紧密相关的技术问题及实现模式,并通过案例详细介绍了移动学习系统的构建过程...
ASP动态网页程序设计 本书特色 任长权、邹德文主编的《asp动态网页程序设计(全国高等院校十二五规划教材)》所举案例都是作者通过多年的教学和网站开发经...
《删除》内容简介:《删除》讲述了遗忘的美德,为读者展现了大数据时代的取舍之道。《删除》从大数据时代信息取舍的目的和方法分别
计算智能 内容简介 本书共9章,介绍了传统智能技术的主要原理与技术、方法,主要包括知识的表示、基本推理、不确定推理、搜索原理等。同时,还介绍了现代智能技术主要的...
UI设计入门一本就够 本书特色 本书紧扣用户界面设计趋势,主要讲解了什么是UI设计,UI设计的原则与理念,UI的文字、图片和图标设计,网页UI设计,移动端UI设...
《城市治理的范式创新:上海城市运行“一网统管”》内容简介:国家治理体系如何回应数字经济的发展、数字社会的变迁和数字技术的迭
你想过可以通过一本书就学会Python吗?《HeadFirstPython(中文版)》超越枯燥的语法和甩法手册,通过一种独特的方法教你学习这种语
Corporationshavefinallyrealizedthevalueofcollaborationtoolsforknowledgesharingan...
《DSP原理及应用》以TI公司的TMS320C54x系列芯片为描述对象,以应用系统设计为主线,系统地介绍了DSP芯片的基本结构、开发和应用
《零代码实战》内容简介:本书是一本系统介绍零代码应用搭建的技术指导书,书中对零代码的背景、企业搭建零代码平台的原因及方法、
《裂变增长秘籍》内容简介:本书基于微信大生态,围绕裂变获客、留存促活、销售变现、客户管理四大模块展开讲述,旨在帮助更多互联
《UNIX编程艺术》内容简介:本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开
《Drupal高手建站技术手册》全面、系统地介绍了当今最流行的开源内容管理系统Drupal的建站方法,不仅由浅入深地介绍了Drupal的基
《神神鬼鬼》内容简介:《神神鬼鬼》堪称名人谈鬼神的合集,由陈平原选编而成。节录了现当代文学史上如茅盾、周作人、梁实秋、老舍
《胜任力》内容简介:很多企业在对员工进行绩效考核时都会发现,明明员工的毕业院校、学历、专业都相同,笔试与面试成绩相差无几,
《绘生活 会生活》内容简介:这是一本教您用心绘出生活中的美好与感动的书,同时也传递给您一种对待生活的积极态度。本书中没有过多
本书共分为10章,系统全面地介绍了HTML5规范的核心内容,以及这些内容在当前浏览器中的支持情况,并告知开发者如何在当前的环境下
《死亡之旅(原书第2版)》对各种“死亡之旅”项目进行了全面而系统的剖析,涵盖整个项目的生命周期,深刻分析了这种现象的本质,
《effectiveobjective-c2.0:编写高质量ios与osx代码的52个有效方法》是世界级c++开发大师scottmeyers亲自担当顾问编辑的“...