Nginx(零):背景

2022-12-01 08:37:05 浏览数 (2)

我们今天开始对Nginx的学习,本来是打算第一篇就是基础知识介绍的,但是我感觉在学习一个新知识之前总应该知道,我们为什么要学习它,学习它的意义何在吧!所以我加了背景这一篇作为Nginx开始学习的标志。

1、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使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
  • 高度的模块化和自由软件许可证使得第三方模块层出不穷(这是个开源的时代啊~)
  • Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris,AIX,Mac OS等操作系统上
  • 这些优秀的设计带来的是极大的稳定性

所以Nginx在Apache面前也有了搏一搏的手段!

PS:在我看来Nginx虽然有着我们需要的便捷与性能,但是并不说明在总体实力上可以和Apache旗鼓相当,还是会有些差距的!!毕竟APache才是现在的主流,是毫无争议的世界第一大服务器。。

0 人点赞