使用nginx有什么優(yōu)點(diǎn)

使用nginx有什么優(yōu)點(diǎn)

nginx服務(wù)器(engine-X),是一種web服務(wù)器。它是一種開(kāi)源的高性能http和反向代理服務(wù)器。 它也可提供IMAP/POP3/SMTP代理服務(wù)等功能。 ? ? ? ? ? ? ? ? ( 推薦學(xué)習(xí):nginx使用?)

**Nginx是以多進(jìn)程的方式來(lái)工作的。**也支持線(xiàn)程的方式,只是主流的方式還是多進(jìn)程的方式,也是Nginx的默認(rèn)方式。

Nginx啟動(dòng)后,它在unix系統(tǒng)中會(huì)以daemon的方式在后臺(tái)運(yùn)行,后臺(tái)進(jìn)程包含一個(gè)master進(jìn)程和多個(gè)worker進(jìn)程。

master進(jìn)程主要用來(lái)管理worker進(jìn)程,包含:接收來(lái)自外界的信號(hào),向各worker進(jìn)程發(fā)送信號(hào),監(jiān)控worker進(jìn)程的運(yùn)行狀態(tài),當(dāng)worker進(jìn)程退出后(異常情況下),會(huì)自動(dòng)重新啟動(dòng)新的worker進(jìn)程。

而基本的網(wǎng)絡(luò)事件,則是放在worker進(jìn)程中來(lái)處理了。多個(gè)worker進(jìn)程之間是對(duì)等的,他們同等競(jìng)爭(zhēng)來(lái)自客戶(hù)端的請(qǐng)求,各進(jìn)程互相之間是獨(dú)立的。

一個(gè)請(qǐng)求,只可能在一個(gè)worker進(jìn)程中處理,一個(gè)worker進(jìn)程,不可能處理其它進(jìn)程的請(qǐng)求。worker進(jìn)程的個(gè)數(shù)是可以設(shè)置的,一般我們會(huì)設(shè)置與機(jī)器cpu核數(shù)一致。

優(yōu)點(diǎn)

并發(fā)連接

官方測(cè)試能支撐5萬(wàn)并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中跑到2~3萬(wàn)并發(fā)連接數(shù)。Nginx服務(wù)器專(zhuān)為性能優(yōu)化而開(kāi)發(fā)。它支持內(nèi)核Poll模型,能經(jīng)受高負(fù)載的考驗(yàn)。

內(nèi)存消耗少

Nginx服務(wù)器采取了分階段資源分配技術(shù),這使得它的CPU與內(nèi)存占用率非常低。

配置文件簡(jiǎn)單

成本低 : Nginx服務(wù)器是開(kāi)源軟件

支持Rewrite重寫(xiě)規(guī)則

能根據(jù)域名、URL的不同,將 HTTP 請(qǐng)求分到不同的后端服務(wù)器群組。

內(nèi)置的健康檢查功能.

若 Nginx服務(wù)器 Proxy 后端的某臺(tái) Web 服務(wù)器宕機(jī),不會(huì)影響前端訪(fǎng)問(wèn)。

節(jié)省帶寬.

支持 GZIP 壓縮,可以添加瀏覽器本地緩存的 Header 頭。

穩(wěn)定性高.

Nginx服務(wù)器的穩(wěn)定性很高。其它HTTP服務(wù)器在遇到訪(fǎng)問(wèn)峰值,或有人惡意發(fā)起慢速連接時(shí),很可能會(huì)導(dǎo)致服務(wù)器物理內(nèi)存耗盡,頻繁交換,失去響應(yīng)(只能重啟服務(wù)器)。

另外, Nginx服務(wù)器采用master-slave模型,能充分利用SMP的優(yōu)勢(shì),且能減少工作進(jìn)程在磁盤(pán)I/O的阻塞延遲。

Nginx服務(wù)器代碼質(zhì)量很高,很規(guī)范, 模塊擴(kuò)展也很容易。Nginx服務(wù)器采用了一些os提供的最新特性如對(duì)sendfile (linux2.2+),accept-Filter(FreeBSD4.1+),TCP_DEFER_ACCEPT (Linux 2.4+)的支持,從而大大提高了性能。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享