以前对nginx的了解一直很模糊,面试的时候总是被问得一头雾水。以下是我查阅资料之后对nginx 的理解,便于以后的学校和总结。
学习一个东西之前,先要了解它是什么,做什么用,怎么用。nginx 就是一个http服务器,做反向代理,负载均衡用,虚拟主机,当然还有其它很多用途。首先要了解什么是正向代理,什么是反向代理,例如你要买个手机,你知道手机产的地址,但是你没有权限购买,而这时nginx有权限购买,你就请求nginx帮你购买,并告诉nginx产家的地址,这时nginx作为你的代理人,产家只知道nginx,不知道你,这就是正向代理。反向代理,则是你不知道产家的地址,也不知道哪个产家卖手机,但是你找到nginx,nginx说它有办法拿到手机,至于它向哪个手机产家购买,再转卖给你,你是不知道的。那什么情况下使用呢,虚拟主机是当服务器的配置很高,远远满足访问需求时可以将服务器设置为多个虚拟主机。相反当一个服务器不能满足访问需求时,可以将多台服务器通过nginx实现反向代理,所用用户都访问nginx,nginx去分配由那台服务器去执行。
这个分配过程,如何分配,就涉及到负载均衡的问题。负载均衡有硬件均衡,和软件均衡,硬件均衡费用较高,但稳定安全。普通公司一般使用软均衡,通常有四种方法:weight 设置权重,权重越高被访问的几率越大;ip_hash 根据访问者的ip进行分配,这样同一个ip就只能访问到一个服务器,可以解决session共享的问题;fiar,智能调度,谁的响应时间短,谁被访问的机会更大;url_hash,同一个访问路径只能访问同一台服务器。两种hash都要安装对应的包,nginx才支持。下一篇,我将学习如何使用!
nginx的学习
最新推荐文章于 2023-02-28 16:50:34 发布