Nginx是什么?
nginx出现的早期就是作为一个高性能的http、反向代理的web服务器。同时它也提供了IMAP/POP3/SMTP服务,也就是电子邮件代理服务器。
什么是代理服务器?
就是客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务器接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
Nginx的特点: (正/反向代理、负载均衡)
正向代理:
由客户端向代理服务器指定要访问的主机,然后代理服务器将请求转发给对应的主机。
反向代理:
客户端将请求发送到反向代理服务器,反向代理服务器去选择目标服务器获取数据后,再返回给客户端。此时代理服务器与目标主机一起对外表现为一个服务器。
反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地。除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外。
正反向代理的区别:
1、正向代理中,客户端知道真正的服务端IP是什么,而服务端并不知真正的道客户端IP是什么;
2、反向代理中,客户端不知道真正的服务端IP是什么,服务端也不知道真正的道客户端IP是什么;
3、正向代理一般用来解决访问限制问题;
4、反向代理一般用来提供负载均衡、安全防护等作用;
代理服务器的优缺点:
1,防火墙作用。保护真实的Web服务器
2,产生了动静分离与负载均衡的方式,减轻了服务器的负担,加速了网站的访问速度。
(由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。)
3.节约有限的IP资源。采用虚拟IP对外提供服务。
负载均衡:
当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。
负载均衡的主要体现就在于针对多个服务器,当客户端发送多个请求时,nginx能够将这多个请求,平均分发到多个服务器上,这样就减轻了服务器的负担,提了访问效率。
我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。
动静分离:
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。