概述
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx的特点:
• 稳定性极强,7*24小时不间断运行
• Nginx提供了非常丰富的配置实例
• 占用内存小,并发能力强(官方测试能够支支撑 5 万并发链接,而tomcat的默认线程池是150)
Nginx 主要应用场景
反向代理
- 正向代理:正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问
- 反向代理:其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
负载均衡
当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 Nginx 做反向代理。并且多台服务器可以根据策略分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
同时来多个请求,根据配置的负载策略分发到不同的服务器,以降低单个服务器压力
动静分离
Nginx 是一个 HTTP 服务可以独立提供 HTTP 服务。可以做网页静态服务器。
为了加快网站解析速度,可以把动态页面和静态页面由不同的服务器解析,加快解析速度。降低服务器压力
虚拟主机
可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。