Nginx系列(一)--nginx是什么?
2017-06-27 20:53
176 查看
一、介绍
Nginx是一个高性能的HTTP和反向代理server,也是一个IMAP/POP3/SMTP代理server。
Nginx是一款轻量级的Webserver/反向代理server以及电子邮件代理server。并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor
Sysoev所开发,供俄国大型的入口站点及搜索引擎Rambler使用。
其特点是占有内存少。并发能力强。其实nginx的并发能力确实在同类型的网页server中表现较好。
Nginx相较于Apache\lighttpd具有占有内存少。稳定性高等优势,而且依靠并发能力强。丰富的模块库以及友好灵活的配置而闻名。
在Linux操作系统下。nginx使用epoll事件模型,得益于此。nginx在Linux操作系统下效率相当高。同一时候Nginx在OpenBSD或FreeBSD操作系统上採用类似于Epoll的高效事件模型kqueue.
二、名词解释
代理server
通常是指局域网内部的机器通过代理server发送请求到互联网上的server,代理server一般作用在client。
反向代理
client(用户A)向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将推断向何处(原始server)转交请求,并将获得的内容返回给client。而client始终任务它訪问的事原始serverB而不是serverZ。
因为防火墙作用。仅仅同意serverZ进出,防火墙和反向代理共同作用保护了院子资源serverB。
用途:将防火墙后面的server提供给Internet用户訪问。反向代理还能够为后端的多台server提供负载平衡或为后端较慢的server提供缓冲服务。
正向代理
正向代理是一个位于clientA和原始server(serverB)之间的server(代理serverZ),为了从原始server取得内容,用户A向代理serverZ发送一个请求并指定目标(serverB)。然后代理serverZ向serverB转交请求并将获得的内容返回给client。client必需要进行一些特别的设置才干使用正向代理。
用途:在防火墙内的局域网client提供訪问Internet的途径。还能够使用缓冲特性降低网络使用率。
从安全性来讲:
正向代理同意client通过它訪问随意站点而且隐藏client自身,因此你必须採取安全措施以确保仅为经过授权的client提供服务。
反向代理对外都是透明的。訪问者并不知道自己訪问的是一个代理。
三、Nginx VSApache
同样点:
1、都是HTTPserver软件
2、功能上都採用模块化结构设计
3、都支持通用的语言接口。如PHP、Perl、Python等
4、支持正向、反向代理、虚拟主机、URL重写、压缩传输、SSL加密传输
不同点:
1、Apache处理速度非常慢。占用非常多内存资源
2、功能上,Apache全部模块支持动静态编译,Nginx模块都是静态编译的
3、对Fcgi的支持:Apache支持的非常不好,Nginx支持非常好
4、处理连接方式:Nginx支持epoll,Apache不支持
5、空间使用上:Nginx安装包仅几百K
四、Nginx优势
1、作为Webserver,Nginx处理静态文件、索引文件,自己主动索引的效率很高
2、作为代理server,Nginx能够实现无缓存的反向代理加速,提高站点执行速度
3、作为负载均衡server,Nginx既能够在内部直接支持Rails和PHP。也能够支持HTTP代理server对外进行服务,同一时候还支持简单的容错和利用算法进行负载均衡
4、在性能方面,Nginx是专门为性能优化而开发的。实现上非常注重效率。
它採用内核Poll模型。能够支持很多其它的并发连接。最大能够支持对5万个并发连接数的响应,并且仅仅占用非常低的内存资源
5、在稳定性方面,Nginx採取了分阶段资源分配技术,使得CPU与内存的占用率很低。Nginx官方表示。Nginx保持1万个没有活动的连接,而这些连接仅仅占用2.5MB内存,因此,类似DOS这种攻击对Nginx来说基本上是没有不论什么作用的
6、在高可用性方面,Nginx支持热部署,启动速度特别迅速。因此能够在不间断服务的情况下。对软件版本号或者配置进行升级,即使执行数月也无需又一次启动,差点儿能够做到7x24小时不间断地执行
Nginx具有非常高的稳定性;支持热部署。代码质量非常高。代码非常规范,手法成熟。模块扩展也非常easy;採用了一些os提供的最新特性如对sendfile(Linux2.2+),accept-filter(FreeBSD4.1+),TCP_DEFER_ACCEPT(Linux
2.4+)的支持,从而大大提高了性能。
Nginx是一个高性能的HTTP和反向代理server,也是一个IMAP/POP3/SMTP代理server。
Nginx是一款轻量级的Webserver/反向代理server以及电子邮件代理server。并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor
Sysoev所开发,供俄国大型的入口站点及搜索引擎Rambler使用。
其特点是占有内存少。并发能力强。其实nginx的并发能力确实在同类型的网页server中表现较好。
Nginx相较于Apache\lighttpd具有占有内存少。稳定性高等优势,而且依靠并发能力强。丰富的模块库以及友好灵活的配置而闻名。
在Linux操作系统下。nginx使用epoll事件模型,得益于此。nginx在Linux操作系统下效率相当高。同一时候Nginx在OpenBSD或FreeBSD操作系统上採用类似于Epoll的高效事件模型kqueue.
二、名词解释
代理server
通常是指局域网内部的机器通过代理server发送请求到互联网上的server,代理server一般作用在client。
反向代理
client(用户A)向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将推断向何处(原始server)转交请求,并将获得的内容返回给client。而client始终任务它訪问的事原始serverB而不是serverZ。
因为防火墙作用。仅仅同意serverZ进出,防火墙和反向代理共同作用保护了院子资源serverB。
用途:将防火墙后面的server提供给Internet用户訪问。反向代理还能够为后端的多台server提供负载平衡或为后端较慢的server提供缓冲服务。
正向代理
正向代理是一个位于clientA和原始server(serverB)之间的server(代理serverZ),为了从原始server取得内容,用户A向代理serverZ发送一个请求并指定目标(serverB)。然后代理serverZ向serverB转交请求并将获得的内容返回给client。client必需要进行一些特别的设置才干使用正向代理。
用途:在防火墙内的局域网client提供訪问Internet的途径。还能够使用缓冲特性降低网络使用率。
从安全性来讲:
正向代理同意client通过它訪问随意站点而且隐藏client自身,因此你必须採取安全措施以确保仅为经过授权的client提供服务。
反向代理对外都是透明的。訪问者并不知道自己訪问的是一个代理。
三、Nginx VSApache
同样点:
1、都是HTTPserver软件
2、功能上都採用模块化结构设计
3、都支持通用的语言接口。如PHP、Perl、Python等
4、支持正向、反向代理、虚拟主机、URL重写、压缩传输、SSL加密传输
不同点:
1、Apache处理速度非常慢。占用非常多内存资源
2、功能上,Apache全部模块支持动静态编译,Nginx模块都是静态编译的
3、对Fcgi的支持:Apache支持的非常不好,Nginx支持非常好
4、处理连接方式:Nginx支持epoll,Apache不支持
5、空间使用上:Nginx安装包仅几百K
四、Nginx优势
1、作为Webserver,Nginx处理静态文件、索引文件,自己主动索引的效率很高
2、作为代理server,Nginx能够实现无缓存的反向代理加速,提高站点执行速度
3、作为负载均衡server,Nginx既能够在内部直接支持Rails和PHP。也能够支持HTTP代理server对外进行服务,同一时候还支持简单的容错和利用算法进行负载均衡
4、在性能方面,Nginx是专门为性能优化而开发的。实现上非常注重效率。
它採用内核Poll模型。能够支持很多其它的并发连接。最大能够支持对5万个并发连接数的响应,并且仅仅占用非常低的内存资源
5、在稳定性方面,Nginx採取了分阶段资源分配技术,使得CPU与内存的占用率很低。Nginx官方表示。Nginx保持1万个没有活动的连接,而这些连接仅仅占用2.5MB内存,因此,类似DOS这种攻击对Nginx来说基本上是没有不论什么作用的
6、在高可用性方面,Nginx支持热部署,启动速度特别迅速。因此能够在不间断服务的情况下。对软件版本号或者配置进行升级,即使执行数月也无需又一次启动,差点儿能够做到7x24小时不间断地执行
Nginx具有非常高的稳定性;支持热部署。代码质量非常高。代码非常规范,手法成熟。模块扩展也非常easy;採用了一些os提供的最新特性如对sendfile(Linux2.2+),accept-filter(FreeBSD4.1+),TCP_DEFER_ACCEPT(Linux
2.4+)的支持,从而大大提高了性能。
相关文章推荐
- 【转】 Nginx系列(一)--nginx是什么?
- Nginx系列(一)--nginx是什么?
- Nginx系列(一)--nginx是什么?
- 什么是内存泄漏?参加了“第十一届中国国际软件博览会系列论坛-开放软件技术高峰论坛”后
- Java EE5到底有什么系列 – Java Persistence API 1.0( EJB3 Entity Bean)
- Compass--在Lucene之上作了什么增强?(Pragmatic系列)
- [入门系列]面向服务的体系结构可以做什么?
- 射频识别系统系列讲座[第1讲]——什么是RFID(射频识别系统)?
- ORA FAQ 性能调整系列之——本地管理表空间环境下查询dba_free_space很慢——有什么办法加速么?
- TheBeerHouse 系列一(这是个什么咚咚)
- Excel Services OverView系列1:什么是Excel Services
- 真是想不到系列之一:VB到底为我们做了什么?
- 那么到底什么是一个系统呢?(软工系列文章之五)
- 双语学习xml系列----之一 什么是xml?(第二小节)
- 【我解C语言面试题系列】001 static有什么用途?
- 什么才是真正的动画--中国经典动画系列完全下载
- [编译预处理系列2]#ifndef、#def、#endif等宏是什么意思
- 什么是AOP系列之一:AOP概念解析
- Excel Services OverView系列1:什么是Excel Services
- 双语学习xml系列----之一 什么是xml?(第一小节)