nginx之歷史回溯

前言

nginx是一個web應用及反向代理工具,由一名俄羅斯程序員(Igor)發明的;NGINX是一個免費的,開源的高性能HTTP服務器和反向代理,以及IMAP / POP3代理服務器。 NGINX以其高性能,穩定性,豐富的功能集,簡單的配置和低資源消耗而聞名。php

 

nginx的起源

  2002年,一個叫Igor Sysoev的俄羅斯哥們兒(貌似俄羅斯叫Igor的人挺多的) 寫出了一個叫Nginx(和Engine X諧音,取引擎之義)。 那時候有一個時代背景,當時C10K(Concurrency 10K,1萬併發)問題仍是困擾絕大多數 web服務器的一個難題。Nginx利用異步事件驅動的架構寫成,是C10K問題的一個很好的答卷。 Nginx的第一個公開發行版是在2004年發佈的,以前都是做爲俄羅斯訪問量第二的網站Rambler 的內部使用。Nginx的主要優點在於「輕、快、活」:nginx

  • 輕:很低的資源佔用,甚至能在不少嵌入式設備上運行。
  • 快:響應速度超快,幾乎不會因爲高併發影響響應速度。
  • 活:配置靈活,普遍的模塊支持。

 

C10K

單臺服務器要同時支持併發 10K 量級的鏈接,這些鏈接多是保持存活狀態的。程序員

 

apache的介紹

  爲何要介紹apache呢,是由於apache也是著名的web應用之一,而且在以前的歲月中,幾乎是碾壓web全場,雖然nginx後來者居上,可是仍是要了解一下。web

  Apache HTTP服務器是 Robert McCool 在1995年寫成,並在1999年開始在Apache軟件基金會的 框架下進行開發。因爲Apache HTTP服務器是基金會最開始的一個項目也是最爲有名的一個項目, 因此一般你們提到Apache這個詞都是說的Apache HTTP Server。數據庫

  Apache web服務器從1996年開始就是互聯網上最爲流行的HTTP服務器。Apache之因此這麼流行 很大程度上是因爲相比其餘的軟件項目,在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/

相關文章
相關標籤/搜索