我们今天开始对Nginx的学习,本来是打算第一篇就是基础知识介绍的,但是我感觉在学习一个新知识之前总应该知道,我们为什么要学习它,学习它的意义何在吧!所以我加了背景这一篇作为Nginx开始学习的标志。
我们在了解Nginx之前,首先要了解一下当今最为主流的服务器Apache。距离Apache的诞生和发展许久,现在Apache是毫无争议的世界第一大服务器,它有着:稳定、开源、跨平台等等很多优点。它的设计理念是快速与可靠,是重量级的服务器。
但是它兴起的年代,互联网产业的发展远远比不上现在,这就使得它的问题逐渐开始显现。它不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些就决定了Apache在某些情况下无法成为高性能WEB服务器,于是轻量级高并发服务器Nginx就应运而生了。
俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间,使用C语言开发了Nginx。Nginx作为WEB服务器一直为Rambler Media提供出色而又稳定的服务。 然后呢,Igor Sysoev将Nginx代码开源,并且赋予自由软件许可证。
由于:
所以Nginx在Apache面前也有了搏一搏的手段!
PS:在我看来Nginx虽然有着我们需要的便捷与性能,但是并不说明在总体实力上可以和Apache旗鼓相当,还是会有些差距的!!毕竟APache才是现在的主流,是毫无争议的世界第一大服务器。。