nginx是一款免费开源的高性能HTTP服务器及反向代理服务器产品,同时提供了IMAP/POP3代理服务功能。于1994年由Igor Sysoev开发
1.功能特性
1.1基本的HTTP服务
- 处理静态文件(如HTML静态网页及请求),
处理文件索引及支持自动索引
。 打开并自行管理文件描述符缓存
提供反向代理,并且可以使用缓存加速反向代理,同时完成简单负载均衡及容错
提供FastCGI服务器的缓存机制,加速访问,同时完成简单的负载均衡及容错
使用Nginx的模块化特性提供过滤器功能。Nginx的基本过滤器包括gzip压缩、range支持、chunked响应,XSLT、SSI以及图像缩放等。其中针对包含多个SSI的页面,经有FastCGI或反向代理,SSI过滤器可以并行处理
- 支持HTTP下的安全套接层安全协议SSL
1.2 高级HTTP服务
- 支持基于名字和IP的虚拟主机设置
支持HTTP/1.0中的KEEP-Alive模式和管线模式
- 支持重新加载配置及在线升级时,无须中断正在处理的请求。
- 自定义访问日志格式,
带缓存的日志写操作以及快速日志轮转
。 - 提供3xx-5xx错误代码重定向功能。
- 支持重写模块的扩展。
- 支持HTTP DAV模块,从而为Http WebDAV提供PUT,DELETE,MKCOL,COPY以及MOVE方法。
- 支持FLV流和MP4流传输。
- 支持网络监控,包括基于客户端的IP地址和HTTP基本认证机制的访问控制,速度限制、来自同一地址的同时连接数和请求数限制等
支持嵌入Perl语言
2.常用功能
2.1 HTTP代理服务器和反向代理
nginx服务器转发前端请求性能稳定,并且后端转发与业务配置相互分离,配置相当灵活。配置转发请求不关心网络环境,可以指定任意的IP地址和端口号,或者其他类型的链接,请求。
支持判断表达式,可以用正则表达式条件,采用不同的转发策略,并·支持后端返回的情况进行判断,如果返回结果不正常,则重定向请求另一台主机(后端的IP),并自动删除返回异常的主机
,支持错误页面跳转功能。
2.2负载均衡
一种是将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总给用户
,(这是分布式计算吧),另一种是将大量的前端请求分担到多个后端网络节点上分别处理,这种情况比较多。
nginx转发策略
- 内置策略 (编译进内核):IP hash、加权轮询、轮询
- 扩展策略(依赖第三方模块):url hash,最小负载。
2.3 Web缓存
主要有Proxy_Cache相关指令集合FastCGI_Cache相关指令构成。ngx_cache_purg模块可以清除nginx服务器上的指定URL缓存。
网友评论