Nginx
知识点
1. 概述
Nginx
是一款是由俄罗斯的程序设计师所开发高性能的Web 和 反向代理服务器,也是一个 IMAP/POP3/SMTP
代理服务器。
其特点是占有内存少,并发能力强,事实上 Nginx
的并发能力在同类型的网页服务器中表现较好,中国大陆使用 Nginx
网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx
专为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的考研,据报告能支持高达 50000 个并发连接数。
在高连接并发的情况下,Nginx
是Apache 服务器不错的替代品。
Nginx
不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。
2. 什么是代理服务器?
所谓代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。
3. 正向代理
用户知道目标服务器地址,但由于网络限制等原因,无法直接访问。这时候需要先连接代理服务器,然后再由代理服务器访问目标服务器。
4. 反向代理
反向代理对用户则是不可知的,比如我们访问百度网站,百度的代理服务器对外的域名为 www.baidu.com,具体的内部的服务器节点我们不知道,现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们N 多的服务器节点中的一个给我们进行搜索后将结果返回。
5. 负载均衡
客户端发送多个请求到服务器,服务器处理请求,有些可能要访问数据库,服务器处理完毕后再将结果返回客户端。
这种架构模式单一,适合并发请求少的情况,但并发量大的时候如何解决?
服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为将请求分发到多个服务器上,将负载分发到多个服务器上。
负载均衡的调度算法:
1.轮询
按时间顺序逐一分配到不同的后盾服务器。
2.加权轮询
可在配置的server 后面加个 weight = number,number 值越高,分配的概率越大。
3.ip_hsah
每个请求按访问IP
的 hash 分配,这样来自同一 IP
固定访问一个后台服务器。
4.least_hash
最少链接数,哪个机器连接数少就分发给哪个机器。
6. 动静分离
Nginx
是一个静态资源服务器,为了加快网站的解析速度,可以把动态页面和静态页面有不同的服务器来解析,减少服务器压力,加快解析速度。将 java
后端程序部署在独立的服务器上,nginx
代理访问后端服务。
实现动态请求与静态请求分离,实现资源分类
7.下载地址
官网地址: http://nginx.org/en/download.html