nginx概述
nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。主要使用C语言写成。
其源代码使以类BSD许可证形式发布,因他的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。占用内存少,并发能力强。安装简单,配置文件简洁,Bug较少,而且启动容易,几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动,还可以不间断服务的情况下进行软件版本的升级。
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求再转发给内部网络上的服务器,然后反向代理再将从服务器上得到的结果返回给客户端,此时代理服务对外就表现为一个反向代理服务器。
负载均衡
负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行。简单而言就是当有2台以上或以上的服务器时,根据规则随机的将请求分发给指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡对应的内部服务器。而Nginx目前支持自带三种负载均衡策略,还有两种常用的第三方策略。
HTTP服务器(动静分离)
在我们软件开发过程中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里动态网页根据一定的规则把不变的资源和经常变的资源区分开来,动静资源做好拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
正向代理
正向代理和反向代理其实都是位于客户端和目标服务器之间的一个代理服务器。
1、不过反向代理是部署在服务器端的,主要是为了帮助服务器做负载均衡、安全防护等功能;
2、而正向代理是部署在客户端的,主要是为了帮助客户端获取他们无法获取到的服务器资源;
3、在正向代理中,目标服务器不知道真正的客户端是谁,以为访问自己的就是真实的客户端。而在反向代理中,客户端不知道真正的服务器是谁,以为自己访问的就是真实的服务器;
4、正向代理和反向代理的作用和目的不相同。正向代理主要是为了解决访问限制的问题,而反向代理则是为服务器提供负载均衡、安全防护等作用。二者均可以提高访问速度。