風信網(ithov.com)原創文章:本章主要介紹Nginx的建構管理和使用。 作為一個羽量級的HTTP伺服器,Nginx與Apache相比有以下優勢:在性能上,它佔用很少的系統資源,能支援更多的併發連接,達到更高的訪問效率:在功能上,Nginx是優秀的代理伺服器和負載均衡伺服器:在安裝配置上, Nginx安裝簡單、配置靈活。 下面就詳細介紹Nginx的配置與使用。
什麼是Nginx
相信很多讀者都對Apache非常熟悉,Nginx與Apache類似,也是一款高性能的HTTP和反向代理伺服器軟體,還是一個IMAP/POP3/SMTP代理伺服器。 Nginx(發音是「enginex")由俄羅斯的程式設計師Igor Sysoev開發(Igor將原始程式碼以類BSD許可證的形式發佈). 可以運行在UNIX、GNU/Linux、BSD、Mac OS X、Solaris以及Microsoft Windows等作業系統中。 隨著Nginx在很多大型網站的廣泛使用,其穩定、高效的特性逐漸被越來越多的使用者認可。
為什麼要選擇Nginx
Nginx與Apache的異同
Nginx和Apache一樣,都是HTTP腮務器軟體,在功能實現上都採用模組化結構設計,都支援通用的語言介面,如PHP、Perl、Python等,同時還支援正向和反向代理、虛擬主機、URL重寫、壓縮傳輸、SSL加密傳輸等。 它們之間最大的差別是Apache的處理速度很慢,且佔用很多記憶體資源,而Nginx卻恰恰相反;在功能實現上,Apache的所有模組都支援動、靜態編譯,而Nginx模組都是靜態編譯的,同時,Apache對Fcgi的支援不好, 而Nginx對Fcgi的支援非常好:在處理連接方式上,Nginx支援epoll. 而Apache卻不支援:在空間使用上,Nginx安裝包僅僅只有幾百K,和Nginx比起來Apache絕對是龐然大物。 在瞭解了Nginx和Apache之間的異同點後基本上就知道了Nginx作為HTTP伺服器的優勢所在。
選擇Nginx的優勢所在
通過上面的簡單介紹,可以看出,Nginx作為HTTP伺服器的優勢是顯而易見的,它有很多其他Web伺服器無法比擬的性能和優勢:
口作為Web伺服器,Nginx處理靜態檔、索引檔,自動索引的效率非常高。
口作為代理伺服器,Nginx可以實現無緩存的反向代理加速,提高網站運行速度。
口作為負載均衡伺服器,Nginx既可以在內部直接支援Rails和PHP,也可以支援HTTP代理伺服器對外進行服務,同時還支援簡單的容錯和利用演算法進行負載均衡。
口在性能方面. Nginx是專門為性能優化而開發的,在實現上非常注重效率。 它採用內核Poll模型,可以支援更多的併發連接,最大可以支援對50 000個併發連接數的回應,而且只佔用很低的記憶體資源。
口在穩定性方面,Nginx採取了分階段資源配置技術,使得CPU與記憶體的佔用率非常低。
Nginx官方表示,Nginx保持1O OOO個沒有活動的連接,而這些連接只佔用2.5MB記憶體,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的。
口在高可用性方面,Nginx支援熱部署,啟動速度特別迅速,因此可以在不間斷服務的情況下,對軟體版本或者配置進行升級,即使運行數月也無需重新開機,幾乎可以做到7x24小時不間斷地運行。