Loading...

Apache与Nginx

Apache是同步多进程堵塞的模型,一个连接对应一个进程;Nginx是建立在epoll机制上的异步非堵塞模型,一个线程可以对应数万个连接;在实际应用中,多使用Apache处理动态请求,使用Nginx处理静态请求,具体区别如表所示。
Apache与Nginx
正向代理与反向代理:
①正向代理即代理客户端向服务器发送请求,客户端了解要访问的服务器,
而服务器不了解访问它的客户端(服务器只了解客户端的代理服务器);
②反向代理(Reverse Proxy)即代理服务器端接受请求,主要用于服务器集群分布式部署的负载均衡,隐藏了服务器的信息。

Nginx的负载均衡算法
①weight轮询(默认,常用):接收到的请求按照权重分配到不同的后端服务器,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;
②ip_hash(常用):每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器;Nginx中的ip_hash技术能够将某个ip 的请求定向到同一台后端web机器中,这样一来这个ip 下的客户端和某个后端 web机器就能建立起稳固的session. ip_hash机制能够让某一客户机在相当长的一段时间内只访问固定的后端的某台真实的web服务器,这样会话就会得以保持,在网站页面进行login的时候就不会在后面的web服务器之间跳来跳去了,也不会出现登录一次的网站又提醒重新登录的情况.
③fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,结合了前两者的优点的一种调度算法,Nginx默认不支持;
④url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在Nginx作为静态服务器的情况下提高缓存效率,默认不支持。

注:①nginx配置文件nginx.conf中,一个server可以认为是一个web服务器,location相当于path匹配;
②请求的静态文件依然是引入外部css和js,因此必须在nginx.conf中专门配置静态文件的location匹配。

原文链接:https://blog.csdn.net/weixin_44806420/article/details/90747861

本文来源 爱码网,其版权均为 原网址 所有 与本站无关,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源。

© 版权声明

相关文章