Nginx概述
Nginx(“engine X”) 是一个高性能的HTTP和反向代理服务器,特点是占用内存少、并发能力强。
Nginx可以作为静态页面的Web服务器,同时还支持 CGI 协议的动态语言,比如 perl、PHP等,但是不支持 java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,非常注重效率,能经受高负载的考验。
正向代理
正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
Nginx不仅可以做反向代理,实现负载均衡,还能用作正向代理来进行上网等功能。
反向代理
反向代理:客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP。
负载均衡
客户端发送多个请求到服务器,服务器处理请求,有一些可能舀鱼数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
随着访问量和数据量的增长,靠增加服务器配置来解决问题(纵向解决问题)的办法行不通了,可以考虑横向增加服务器(集群)。
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。