Nginx简介

 nginx软件介绍

Nginx ( “engme x")是一个开源的,支持高性能、高并发的 WWW服务器和代理服务软件。它是由俄罗斯人 Igor Sysoev开发的,最初被应用在勘罗斯的大型网站 www.rambler.ru 上,后来作者将源代码以类BSD许可证的形式开源出来供全球使用。

1.1 nginx功能特性

*web网站服务

*反向代理负载均衡(nginx,lvs,haproxy)

*nginx缓存服务(memcache,redis,mongodb)

1.2 nginx服务器的优点:
*支持高并发:能支持几万并发连接(特别是静态小文件业务环境)

 *资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB

 *可以做HTTP反向代理及加速缓存、即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS的功能。

 *具备Squid等专业缓存软件等的缓存功能。

 *支持异步网络I/O事件横型epoll

2.1 常用来提供静态服务的软件

apache:中小型web服务的主流

nginx:大型网站web服务的主流

nginx的分支tengin:快速发展

lighttpd:静态解析效率很高

2.2 常用来提供动态服务的软件:

* PHP ( FastCGI ):大中小型网站都会使用,动态网页语言PHP程序的解析容器。它可配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程横式,而是mod_php5.so ( module)也可配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务。
* Tomcat :中小企业动态Web服务主流,互联网Java容器主流(如jsp、do )
* Resin :大型动态Web服务主流,互联网Java容器主流(如jsp、do )
* IIS ( Internet information services ):微软 windows 下的 Web 服务软件(如 asp、aspx )
2.3 nginx软件的企业功能应用

业务类型

应用方案

动态业务

nginx和apache均可使用,但建议选nginx,为了避免相同业务的服务软件多样化,增加维护成本。动态业务可以由nginx兼做前端代理,再根据页面元素的类型或目录,转发到后端相应的服务器处理进程。

静态业务

若是高并发场景,尽量采用nginx或lighttpd,二者首选nginx

既有静态业务又有动态业务

采用nginx,虽然nginx软件无法处理动态业务请求,但结合php软件处理动态业务请求,再加上mysql即LNMP架构

 2.4 与其他软件的对比:

Apache软件的特点:

*Apache2.2版本非常稳定强大,据官方说,Apache2.4版本性能更强。

*Prefork模式取消了进程创建开销,性能很高。

*处理动态业务数据时,因关联到后端的引擎和数据库,瓶颈不在Apache上。

*高并发时消耗系统资源相对多一些。

*基于传统的select模型,高并发能力有限。

*支持扩展库,可通过DSO、apxs方法编译安装额外的插件功能,不需要重新编译Apache

*功能多,更稳定,更安全,插件也多。

*市场份额在逐年递减

Nginx软件的特点:

*基于异步网结I/O模 型(epollk kqueue)

*具备支持高性能,高并发的特性,并发连接可达数万。

*对小文件(小于1 MB的静态文件)高并发支持很好,性能很高

*不支持类似 Apache的DSO模式、扩展库必须编译进主程序(缺点)

*进程占用系统资源比较低。

*支持Web、反向Proxy、Cache三大重点功能,幷且都很优秀。

*市场份额在逐年快速增加。

Light的特点:

*基于异步网络 I/ O模型,性能、并发都与 Nginx相近。

*扩展库是 SO模式,比Nginx灵活

*目前国内的使用率比较低,安全性没有 Apache和Nginx好。

*通过插件(mod_secdownload)可实现文件 URL地址加密(优点)

*社区不活跃,市场份额较低

最主要的区别:(select&epoll)

nginx使用的是epoll和Kqueue异步网络I/O模型,而apache使用的是传统的select模型

差别 :

(比喻)假设你在大学读书,住的宿舍楼有很多房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友到各房间挨个去找,直到找到你为止。而epoll版宿管大妈会先记下每位入住同学的房间号,你的朋友来找你时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满宿舍楼找人了。如果同时来了100个人,都要找自己住这栋楼的同学,select版和epoll版宿管大妈,谁的效率更高,就很明显了。

这就意味着select在处理高并发连接数时性能很差,而epoll性能基本没有下降,而且select连接数有限制,超过1024时需要修改FD_SETSIZE宏,并重新编译,epoll连接数无限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

real向往

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值