Nginx概述及作用
发布时间:2023-06-19
nginx2.jpg

Nginx同Apache、Tomcat一样,是一种服务器软件。它是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。因此,使用Nginx可以搭建网站,也可以实现负载均衡的功能,还可以作为邮件代理服务器来接收和发送邮件。Nginx1.9.0以后的版本还可以作为通用的TCP/UDP代理服务器,也可以提供一定的缓存服务功能。

可作为Web 服务器

Nginx还是一个高性能的HTTP Web服务器(Web服务器还有Apache、IIS等),它包含了基本的HTTP功能和拓展功能,可以先通过动态/静态内容分离,而后为静态内容(HTML/CSS/JaveScript/图片等)提供HTTP访问功能;而动态内容可以整合代理模块,代理给上游服务器,以支持对外部程序的直接调用或者解析,如 FastCGI 支持 PHP。

可作为反向代理服务器

代理服务器分为正向代理服务器和反向代理服务器。

1.正向代理服务器

正向代理服务器是一个位于客户端与原始服务器之间的服务器。为了从原始服务器中取得数据,客户端向代理服务器发送请求并指定目标(原始服务器),然后,代理服务器向原始服务器转交请求,并将获得的内容返回客户端。

正向代理服务器一般作用在客户端,并且在客户端需要进行相关配置。

正代1.jpg

2.反向代理服务器

反向代理服务器作用在服务器端,它在服务器端接收互联网中的连接请求,然后将请求转发给内部网络中的服务器,并将从服务器中得到的结果返回给互联网中请求连接的客户端。

反向代理对外是透明的,在客户端不需要任何配置,所以,访问者并不知道自己访问的是一个反向代理服务器。

Nginx就是一个反向代理服务器。

反向代理服务器针对Web服务器提供加速功能,所有外部网络要访问服务器的请求都要通过它。反向代理服务器负责接收客户端的请求,然后到源服务器上获取内容,把内容返回给用户,并把内容保存在本地中,以便日后再收到同样的信息请求时,将本地缓存中的内容直接发给用户,以减少后端 Web 服务器的压力,提高响应速度。因此,Nginx还具有缓存功能。

反代2.jpg

3.反向代理服务器实现负载均衡

Nginx 可通过反向代理服务器来实现负载均衡,以优化网站的负载。

负载均衡2.jpg

可作为邮件代理服务器

Nginx可被部署成邮件代理服务器,最早开发Nginx的目的之一就是将其作为邮件代理服务器。

为什么选择Nginx

Nginx有着高并发、性能好和占用内存少等特点,其安装简单,配置文件简洁,启动容易,能长时间不间断运行,还能在不间断服务的情况下升级软件版本,而且成本低。这些优点使得Nginx的应用越来越普遍。

1.高并发、性能好、占用内存少和稳定

作为 Web服务器,相比 Apache,Nginx占用内存更少,支持的并发连接更多,使用效率更高,并且Nginx要比 Apache更“轻量”,性能更好。

2.功能强大

Nginx提供了大量的功能模块,支持诸多特性,应用场景也多,可作为 Web 服务器、反向代理服务器,也可作为邮件服务器等。

3.拓展性高

Nginx的模块化设计极具拓展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成的。因此,当对某一个模块进行缺陷修复或升级时,可以专注于模块自身,而不会影响其他模块。

这种低耦合度的设计,使得Nginx 具有数量庞大的第三方模块。当然,这些公开的第三方模块也如 Nginx 官方发布的模块一样易用。

4. Nginx的其他优点介绍如下

(1)、跨平台:Nginx 可以在UNIX、Linux、OS系统中编译运行,而且也有Windows的移植版本。

(2)、占用内存小:10000个非活动 HTTP保持连接,占用大约 2.5MB 的内存。

(3)、配置/操作简单:Nginx安装简单,配置文件简洁,易上手。

(4)、网络依赖性低:理论上只要能够通过ping就可以实施负载均衡,而且可以有效区分内网、外网流量。

(5)、支持内置服务器检测:Nginx能够根据服务器处理页面返回的状态码、超时信息等,检测服务器是否出现故障,并及时返回错误的请求,重新提交到其他节点上。