您的位置:首页 > 游戏 > 手游 > 高性能web服务器-nginx(一)

高性能web服务器-nginx(一)

2024/11/18 7:47:38 来源:https://blog.csdn.net/2302_78067597/article/details/141793021  浏览:    关键词:高性能web服务器-nginx(一)

nginx高性能web服务详解

1.1nginx简介

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 邮件代理服务器。由 Igor Sysoev 于2004年首次发布,其设计目标是解决 C10K 问题,即在一台服务器上同时处理一万个并发连接。Nginx 以其高并发处理能力、低资源消耗和模块化设计而闻名,广泛应用于 Web 服务器、反向代理、负载均衡等场景。

随着信息数据的不断增长及用户体验需求增高:技术关心三个方面:

  • 服务器自身处理性能(信息数据,云计算与大数据理论等工作)

如何更快处理与响应客户端与web服务器之间的问题

  • 服务器的稳定性

如何保证web服务器在大量并发请求中任然进行保持稳定运行(也就是我们所说的服务器、网站等不宕机),产生问题的时候能够进行有效的预防,运行过程中进行减少系统平台资源的压力等问题

  • web服务器的定制特性

部署迅速,快速增加删除与配置功能

主流的web服务器

Apache、Microsoft IIS,Sun、Nginx、Tomcat、Lighttpd等

apache:apache web服务器在开源的www服务所提供的工具在特性最全并且运行速度最快。缺点是apache设计一进程的基础结构,导致apache处理器环境下降。

tomact:一般应用在中小型系统和并发访问用户数量少的场合下使用。缺点是tomact处理html页面功能不如apache服务器,不能满足复杂的业务,tomact体积小,安装与部署方便,系统占用率低

nginx:可以做htpp服务器,反向代理,邮件服务器,快速相应静态页面,支持FastCGI、SSL、Virtual Host、URL Rewrite、HTTP Basic Auth、Gzip等大量使用功能;并且支持更多的第三方功能模块的扩展。
nginx版本分为:
开发版,稳定版,最新版;

HTTP代理和反向代理

nginx服务器提供反向代理服务,转发前端请求性能稳定,向后端转发业务支持相互分离,配置灵活

支持正则表达式,后端返回情况做异常判断,结果若不正常,重新请求另外一台主机,自动替换异常主机,并且支持错误页面跳转功能

负载均衡

负载均衡:将单一的重负载分担多个网络节点进行处理,将每一个节点处理结束后的结果汇总返还给用户,提高网络系统处理能力;另外一个,将大量前端请求并发访问或数据流担到多个后端节点分别处理,减少用户等待时间。

nginx负载服务器:对大量前段访问和流量进行分流,保证前端用户访问效率

nginx负载策略
内置策略:轮询,加权轮询,iphash
默认会被编译到nginx内核中

扩展策略:url hash,fair 模块编译到nginx中
不会编译到nginx内核,需要手动将第三方

轮询:每个前端请求按照时间顺序,或者策略进行分配到不同的后端节点,若后段节点有问题将自动排除。

加强轮询:因为后端节点请求的权重,指定后端节点轮询的概率,用于后端性能不均的情况。

ip hash策略,将前端访问的IP进行hash操作,将hash结果分配到不同的后端节点,通过nginx实现,每一个前端访问访问ip会固定访问后端节点,避免前端用户的session在后端多个节点上的共享

扩展策略url hash形式上与ip hash类似,不同之处在于ip hash策略是对前端用户ip进行了hash操作;URL hash是若后端有缓存服务器,提高缓存效率,解决session问题;缺点是,解决了后端节点异常,不能自动排除节点.后端节点出现异常,nginx服务器返回503的错误

扩展fair模块:该模块将前端请求转发到负载最小的后端节点,nginx通过后端节点对请求的相应时间来判断负载情况;相应时间短的节点负载轻;得出结果就,nginx负载请求转发到选中的负载最轻的几点上

web缓存

nginx服务器孩子吃类似squid缓存功能;nginx服务器的web服务器主要由proxy_cache指令(nginx服务器提供反向代理,对后端原服务器返回内容进行URL缓存),fastcgi_cache指令(用于fastcgi动态程序进行缓存)构成;第三方ngn_cache_purge模块(用于清除ngijx服务器上指定的URL缓存)

nginx服务器的多核CPU调度,性能比suid更好,因为nginx不仅模块多,使nginx服务器同时作为负载均衡器和web缓存服务器来进行使用!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com