浅谈nginx(一)

浅谈nginx(概念篇)

nginx的描述,nginx是什么,用来干什么

nginx是一款轻量级的web服务器,也可以称之为一款反向代理服务器。nginx因占有服务器资源内存少,支持高并发的特性受到多个大型网络公司用户的亲睐。

nginx的创始人伊戈尔·赛索耶夫
1561897072438

聊聊各大厂商为什么选择nginx

nginx是一个高性能的web和反向代理服务器,具有非常优越的特性,单机环境下参考服务器的配置,nginx的并发连接数在7000+—8000左右,集群模式下nginx的并发量可达20000+

作为web服务器:相比较apache,nginx使用了更少的资源,支持更多的高并发,其处理事务的速率远远高于apache,有关数据显示大约为2.5倍。能够支持高达50000个并发连接数的响应。

作为负载均衡器,nginx可以在内部支持PHP,也可以作为HTTP代理服务器对外进行服务。nginx是用C语言编写,不论是在系统资源开销还是cpu的使用效率方面都比perlbal要好的多。

nginx也可以作为邮件代理服务器使用,因为小编这边没有具体测试过nginx作为邮件代理服务器的性能,所以在此不加以评论。

除了上述所具备的优点外,nginx的配置文件非常简洁,易于上手,nginx的启动命令非常容易,可以在不间断服务的前提下进行软甲版本的迁移(nginx平滑升级,后面会提到),nginx的bug非常少,运行比较稳定。

浅聊nginx的IO多路复用

1.高并发
多进程的并发模型,nginx的最大进程可设置为8,并不是因为8以上不能设置,而是到达8进程的节点后nginx的性能趋于最优值,在往上增添进程数也不会提高事务处理的速率,稳定性也会降低。

2.一个请求到来了,nginx使用epoll接收请求的过程是怎样的?

nginx会有很多请求连接进来,epoll会将他们监视起来,像拨动开关一样进行请求的处理,当有数据产生时,就会调用相应的代码进行处理。

3.异步.非阻塞

每进来一个请求,就会有一个worker进程区处理,但并不是全过程的处理。

处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。那么,这个处理的worker不会这么一直等着,他会在发送完请求后,注册一个事件:“如果upstream返回了,告诉我一声,我再接着干”。于是他就休息去了。这就是异步。此时,如果再有request 进来,他就可以很快再按这种方式处理。这就是非阻塞和IO多路复用。而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走。这就是异步回调。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值