nginx介绍及常用功能

什么是nginx

nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。

Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器

 nginx:轻量级高并发服务器

  • Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
  • 高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)
  • Nginx是一个跨平台服务器,可以运行在Linux, FreeBSD, Solaris, AIX, Mac OS, Windows等操作系统上
  • 这些优秀的设计带来的极大的稳定性。

nginx的常用功能

参考 https://www.cnblogs.com/wcwnina/p/8728391.html

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理实现负载均衡。

功能一:http代理,反向代理

  

正向代理:浏览器(客户端)主动将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!

  反向代理:浏览器(客户端)发送请求,nginx服务收到请求后,可以根据不同的正则匹配,采取不同的转发策略,将请求转发给服务器。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

反向代理实现分布式部署,也就是通过部署多台服务器来解决访问人数限制的问题(分布式集群操作)

 功能二:负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

下图是3种负载均衡的算法:

Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题

 功能三:web缓存

Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

猜你喜欢

转载自www.cnblogs.com/lixiaoxuan/p/10070859.html