Nginx(engine x)是俄羅斯人Igor Sysoev 撰寫的一款高性能的HTTP 和反向代理伺服器。Nginx 選擇了epoll 和kqueue 作為網路I/O 模型,在高連接並行的情況下,Nginx 是Apache 伺服器不錯的替代品,它能夠支援高達50,000 個並行連接數的回應,執行穩定,且記憶體、CPU 等系統資源消耗非常低。
除了少數具有開發能力的公司之外,商業網站架設就是二選一,Linux 陣營Apache,Windows 選IIS,長久以來,這兩個產品霸佔了90% 以上的Web 伺服器市場。在選完邊後,我們也忙著偵錯、校調,最佳化、設定,設計這個既定的架構,不斷的找資料,問專家,想方案,以應付日益龐大及複雜的應用環境。
但是,有沒有其它的選擇,讓我們一開始就不需要煩惱已經可預見的問題?
Apache 如其名,一開始當然是一個以「補丁(patch,英文發音接近)」為主的Web 伺服器。但在「自由軟體」的加持下,與身處相對較穩定的類Unix 環境中,自然受「較高級」工程師寵愛。但這個對於Windows 系統的虛榮優勢,在同處於類Unix 環境的其它產品中不見得能佔到便宜。Nginx 這個後起之秀的網頁伺服器,在Linux 環境下,讓Apache 馬上降級成面對夢幻隊的板凳球員。
許多知名公司在招聘系統工程師、網路工程師時,都會加上對Nginx 設定管理經驗的要求。Nginx 作為新興的Web 伺服器,發展趨勢迅猛,已經在眾多知名網站的各項產品中取代Apache。但是,Nginx 相關的中文資料卻比較欠缺,本書就是為對Nginx 伺服器實作應用感興趣的讀者準備的。
雲端時代進入高原期,虛擬化在底層已完全成熟,上層的平台是否還有進步空間不得而知,但能讓同樣硬體發揮5-10倍效能的軟體,相信你也會忍不住想試試。學習Nginx 也許無法讓你立即高人一等,但換個完全相容又更強大的產品,而無需陡峭的學習曲線,怎麼看都是蠻酷的一件事。