为什么要选择nginx

nginx与apache的异同

 

nginx和apache一样,都是HTTP服务器软件,在功能上都采用模块化结构设计,都支持通用的语言接口,如PHP,PERL,PYTHON等,同时还支持正向和反向代理,虚拟主机,URL重写,压缩传输,SSL加密传输等,他们之间最大的差别是apace的处理速度很慢,且占用很多内存资源,而nginx恰恰相反,在功能实现上,apache的所有都支持动,静态编译,而nginx都是静态编译的,同时apache对fcgi支持不好,而nginx对fcgi支持的非常好,在处理连接方式上,nginx支持epoll,而apache却不支持,在空间使用上,nginx安装包只有几百K,和nginx比起来apache绝对是庞然大物,在了解nginx和apache的异同点之后基本上就知道了nginx做为HTTP服务器的优势所在了

 

选择nginx的优势所在

 

通过上面的简单介绍,可以看出,nginx做为HTTP服务器的优势是显而易见的,他有很多其他web服务器无法比拟的性能和优势:

 

做为web服务器:nginx处理静态文件,索引文件,自动索引效率非常高

做为代理服务器:nginx可以实现无缓存的反向代理加速,提高网站的运行速度

做为负载均衡服务器:nginx既可以在内部直接支持rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡

在性能方面:nginx专门为性能优化而开发,在实现上非常注重效率,他采用内核poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接的响应,而且只占用很低的内存资源

在稳定性方面:nginx采取分阶段资源分配技术,使得CPU与内存的占用率非常低,nginx官方表示,nginx保持10000个没有活动的连接,而这些连接只占用2.5MB的内存,因此,类似DOS这样的攻击对nginx来说基本上没有任何作用

在高可用性方面:nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7X24小时不间断运行