什么是Nginx? 前端
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特色是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。web
1、能够高并发链接后端
官方测试Nginx可以支撑5万并发链接,实际生产环境中能够支撑2~4万并发链接数。浏览器
缘由,主要是Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freeBSD)网路I/O模型,而Apache使用的是传统的Select模型,其比较稳定的Prefork模式为多进程模式,须要常常派生子进程,因此消耗的CPU等服务器资源,要比Nginx高不少。缓存
2、内存消耗少服务器
Nginx+PHP(FastCGI)服务器,在3万并发链接下,开启10个Nginx进程消耗150MB内存,15MB*10=150MB,开启的64个PHP-CGI进程消耗1280内存,20MB*64=1280MB,加上系统自身消耗的内存,总共消耗不到2GB的内存。网络
若是服务器的内存比较小,彻底能够只开启25个PHP-CGI进程,这样PHP-CGI消耗的总内存数才500MB。并发
3、成本低廉负载均衡
购买F5BIG-IP、NetScaler等硬件负载均衡交换机,须要十多万到几十万人民币,而Nginx为开源软件,采用的是2-clause BSD-like协议,能够免费试用,而且可用于商业用途。
BSD开源协议是一个给使用者很大自由的协议,协议指出能够自由使用、修改源代码、也能够将修改后的代码做为开源或专用软件再发布。
4、配置文件很是简单
网络和程序同样通俗易懂,即便,非专用系统管理员也能看懂。
5、支持Rewrite重写
可以根据域名、URL的不一样,将http请求分到不一样的后端服务器群组。
6、内置的健康检查功能
若是NginxProxy后端的某台Web服务器宕机了,不会影响前端的访问。
7、节省带宽
支持GZIP压缩,能够添加浏览器本地缓存的Header头。
8、稳定性高
用于反向代理,宕机的几率微乎其微。
9、支持热部署
Nginx支持热部署,它的自动特别容易,而且,几乎能够7天*24小时不间断的运行,即便,运行数个月也不须要从新启动,还可以在不间断服务的状况下,对软件版本进行升级。
Nginx、Apache、Lighttpd对比
能够看出,Nginx在反向代理、Rewrite规则、稳定性、静态文件处理,内存消耗等方面,有很强的优点,使用Nginx取代传统的Apache服务器,会获得多方面的性能提高。