Nginx2-介绍

Nginx

Nginx是一个开源且高性能,可靠的HTTP中间件,代理服务

为什么选择Nginx

  1. IO多路复用epoll
    大白话解释select、poll、epoll,简单举个例子(可能也不是很形象)select/poll饭店服务员(内核)告诉饭店老板(用户程序):”现在有客人结账“但是这个服务员没人明确告诉老板,哪几桌的客人结帐。老板得自儿一个一个桌子去问:请问是你要结帐?epoll饭店服务员(内核)告诉饭店老板(用户程序):”1,2,5号客人结账“老板就可以直接去1,2,5号桌收钱了
    比如说你从某宝下单买了几个东西,这几个东西分别由N个快递员分别给你送过来。在某一时刻,你开始等快递。对于select/poll,就是你在睡觉的时候,收到一条短信“你有快递到了,取一下”,但不知道发送方是谁(但一定是那N个快递员中的某人/某几个人给你发的),所以你必须挨个给那N个快递员分别打个电话,问他们,是不是我的快递已经到了。至于select/poll的区别,类似于你和快递员都分别有两个手机号,一个移动,一个联通,其区别就在于你用哪个手机号给他们打的问题。对于epoll,是你收到那条短信的时候,看到了发送方的电话号码,你就可以直接给他打电话,问他在哪儿,你好去去快递。

  2. CPU亲和
    是一种把CPU核心和Nginx工作进程绑定方式,把每个woker进程固定在一个cpu上执行,减少切换cpu的cache miss,以此来获得更好的性能。

  3. sendfile