Nginx 讀音為 Engine X, 是俄國人IgorSysoev 開發的輕量級高性能Web 伺服器。如果說Lighttpd 是後起之秀,那Nginx 可以稱得上是青出于藍而勝于藍了。Nginx 的釋出要比Lighttpd晚幾年,可以說是Lighttpd 的晚輩了,開始的時候,Nginx 主要被用于提供高性能的反向代理伺服器和郵件伺服器的前端代理,随着Nginx 的高性能被更多的人了解,Nginx 也得到了迅速的普及。特别是最近兩年來,Nginx 得到了高速的發展,目前Nginx 在全球網際網路的裝機量大概接Lighttpd 的一半左右。
Nginx 的功能要比Lighttpd 簡單得多,代碼量也非常少,可以說是比Lighttpd 還輕量級的Web伺服器,與此同時,Nginx 提供了比Lighttpd 還要高的性能。據筆者簡單的壓力測試表明,Nginx大緻要比Lighttpd 快10%~15% 左右,并且CPU和記憶體的消耗還要比Lighttpd 低一些。這就是Nginx 現在很受歡迎的主要原因。現在在國内使用Nginx 的網站也很多,例如新浪網的部落格頻道就是使用Nginx 的,另外,視訊網站六間房也使用的是Nginx。
功能和特點
1.Nginx的性能非常驚人
前面說了Nginx 比Lighttpd 還要快一些,資源消耗還要低一些。根據其作者Igor Sysoev 自己介紹,Nginx 可以在單台實體伺服器上支撐3~5萬個并發請求,可以說是非常驚人的了。
2.Nginx的結構特别簡單
Nginx 的功能沒有Lighttpd 那麼豐富,配置也沒有Lighttpd 那麼多,是一個結構非常簡單的Web 伺服器,源代碼也隻有8000 多行。但正因為這種簡單, Nginx 安裝和配置都特别容易,不需要特别地學習和掌握,就可以輕松架設一個性能非常高的Web 伺服器了。
3.Nginx的文檔比較匮乏
Igor Sysoev 本人是俄國人,而且承認自己的英文水準不高,是以,Nginx 的英文文檔顯得非常匮乏,即使是Nginx 的官方wiki 上的文檔,很多地方都語焉不詳,沒有提供詳細的示例,這是Nginx 比較弱的一個方面。
4.Nginx比較适合支援Proxy
和Lighttpd 相比,Nginx 的Proxy 功能要比Lighttpd 更加優秀,而Lighttpd 的FastCGI 支援則更加優秀。在Lighttpd 和Nginx 之間選擇的話,如果你需要proxy 功能就可以選擇Nginx,如果需要FastCGI 功能,就可以選擇Lighttpd。
背景介紹
可能是由于Nginx 是俄國人開發的,而且作者又不善英語的緣故,Nginx 雖然已經誕生了3 年多的時間,但是早期主要還是在俄國内部普及,到2007 年3 月,俄國超過20% 的虛拟主機業務已經運作在Nginx 上面了。目前全球有4% 的網際網路虛拟主機運作在Nginx 上。
目前,Nginx 除了作為Web 伺服器來使用之外,還有很大的用途是充當大規模郵件伺服器的前端代理,它能夠代理IMAP、POP3 和SMTP 協定,是以在郵件伺服器領域的用途也非常廣泛。就目前來說,Nginx 的占有率還不能夠和Lighttpd 相比,但是對Nginx 的前景也非常看好。未來有望和Lighttpd 一道,取代Apache 的地位。
參考資料
網站類
快速上手教程
Nginx 的安裝和配置比Lighttpd 還要簡單,下載下傳Nginx 的源代碼解壓縮,執行:
就可以把Nginx 安裝到/usr/local 目錄下面了。
Nginx 的配置檔案是 /usr/local/conf/nginx.conf。
這個配置檔案預設不需要修改就可以啟動了,如果需要自己定制修改,可以參考文檔的說明。啟動Nginx:
就可以了。
版本資訊
Nginx 目前也有兩個版本:0.5.x 版本是穩定版本,推薦目前的生産環境來使用;0.6.x版本是開發版本,增加了很多新的功能特性,但是不推薦在生産環境當中使用。就筆者自己測試來看,0.5.x 版本的性能已經非常好了,0.6.x 版本也比較穩定,都可以使用。
社群視角
Nginx 和Lighttpd 是兩個各有特色的輕量級Web 伺服器,也是目前最有前途的兩個候選者。Nginx 的優點在于性能更好、功能更簡單、配置更容易,而Lighttpd 的優點在于功能支援更加豐富、文檔更加豐富、使用者群體更大。
作者介紹
張遠:Unix 網絡管理者,八年從業經驗,了解Unix 平台的開源軟體,在大規模網站部署和調優,特别是Web 伺服器方面有豐富的實踐經驗。