nginx之历史回溯

前言

nginx是一个web应用及反向代理工具,由一名俄罗斯程序员(Igor)发明的;NGINX是一个免费的,开源的高性能HTTP服务器和反向代理,以及IMAP / POP3代理服务器。 NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。

 

nginx的起源

  2002年,一个叫Igor Sysoev的俄罗斯哥们儿(貌似俄罗斯叫Igor的人挺多的) 写出了一个叫Nginx(和Engine X谐音,取引擎之义)。 那时候有一个时代背景,当时C10K(Concurrency 10K,1万并发)问题还是困扰绝大多数 web服务器的一个难题。Nginx利用异步事件驱动的架构写成,是C10K问题的一个很好的答卷。 Nginx的第一个公开发行版是在2004年发布的,之前都是作为俄罗斯访问量第二的网站Rambler 的内部使用。Nginx的主要优势在于“轻、快、活”:

  • 轻:很低的资源占用,甚至能在很多嵌入式设备上运行。
  • 快:响应速度超快,几乎不会由于高并发影响响应速度。
  • 活:配置灵活,广泛的模块支持。

C10K

单台服务器要同时支持并发 10K 量级的连接,这些连接可能是保持存活状态的。

apache的介绍

  为什么要介绍apache呢,是因为apache也是著名的web应用之一,并且在之前的岁月中,几乎是碾压web全场,虽然nginx后来者居上,但是还是要了解一下。

  Apache HTTP服务器是 Robert McCool 在1995年写成,并在1999年开始在Apache软件基金会的 框架下进行开发。由于Apache HTTP服务器是基金会最开始的一个项目也是最为有名的一个项目, 所以通常大家提到Apache这个词都是说的Apache HTTP Server。

  Apache web服务器从1996年开始就是互联网上最为流行的HTTP服务器。Apache之所以这么流行 很大程度上是由于相比其他的软件项目,在Apache基金会的精心维护下他的文档十分的详尽还有 集成的支持服务。

  Apache由于其可变性、高性能和广泛的支持,经常是系统管理员的首选。他可以通过一系列 的语言相关的扩展模块支持很多解释型语言的后端,而不需要连接一个独立的后端程序。

  Apache软件基金会也是利用开源软件盈利的一个范本。时至今日,Apache软件基金会 已经枝繁叶茂,在基金会名下的开源项目我们耳熟能详的有:

  • Apache HTTP Server
  • Ant(Java的编译工具)
  • ActiveMQ(MQ集群)
  • Cassandra(强一致的分布式KV数据库)
  • CloudStack(OpenStack的劲敌)
  • CouchDB(KV数据库)
  • Flume(日志收集工具)
  • Hadoop、Hbase、Hive
  • Kafka(流式计算)
  • Lucene(开源搜索引擎)
  • Maven(Java编译&依赖管理工具)
  • Mesos(分布式协调)
  • OpenNLP(开源自然语言处理库)
  • OpenOffice(开源的类Office工具)
  • Perl(Perl语言)
  • Spark(分布式计算集群)
  • Storm(流式计算)
  • Struts(Java SSH框架的第二个S)
  • Subversion(SVN,你懂的)
  • Tcl(Tcl语言)
  • Thrift(Java网络框架)
  • Tomcat(大名鼎鼎的Java容器)
  • ZooKeeper(分布式协调集群)

apache与nginx比较

网上关于Apache和Nginx性能比较的文章非常多,基本上有如下的定论:

  1. Nginx在并发性能上比Apache强很多,如果是纯静态资源(图片、JS、CSS)那么Nginx是不二之选。
  2. Apache有mod_php、在PHP类的应用场景下比Nginx部署起来简单很多。一些老的PHP项目用Apache 来配置运行非常的简单,例如Wordpress。
  3. 对于初学者来说Apache配置起来非常复杂冗长的类XML语法,甚至支持在子目录放置.htaccess 文件来配置子目录的属性。Nginx的配置文件相对简单一点。
  4. Nginx的模块比较容易写,可以通过写C的mod实现接口性质的服务,并且拥有惊人的性能。 分支OpenResty,可以配合lua来实现很多自定义功能,兼顾扩展性和性能。

参考文档

https://zhuanlan.zhihu.com/p/20204159

https://www.infoq.cn/article/2016/11/Nginx-when-replace-Apache

https://www.csdn.net/article/2013-09-09/2816874-this-russian-software-is-taking-over-the-internet

https://blog.csdn.net/yeasy/article/details/43152115

https://nginx.org/

原文地址:https://www.cnblogs.com/guge-94/p/11757705.html