Nginx學(xué)習(xí)

背景介紹

什么是nginx

nginx是由俄羅斯人開發(fā)的一個(gè)HTTP服務(wù)器,發(fā)音:engine X ,是一個(gè)高性能的http和反向代理,負(fù)載均衡服務(wù)器。業(yè)界一致認(rèn)為是apache + mod_proxy_balancer 輕量級替代者,它不僅相應(yīng)靜態(tài)頁面的速度很快,而且它的模塊數(shù)量達(dá)到apache的2/3。 對proxy和rewrite 模塊的支持很徹底。

特點(diǎn)

專為性能優(yōu)化而生,支持內(nèi)核poll模型,能經(jīng)受住高負(fù)載,50000個(gè)并發(fā)連接數(shù)不成問題。nginx采取了分階段資源分配技術(shù),使得其對內(nèi)存和cpu的占用率很低,保持10000個(gè)無活動(dòng)連接只占用2.5M內(nèi)存。反觀apache,一般200個(gè)進(jìn)程以上,web響應(yīng)速度就明顯緩慢了。支持熱部署,可以不停止服務(wù)升級nginx版本。nginx采用了master-slave模型,能充分利用SMP的優(yōu)勢,能減小工作時(shí)的I/O延遲

  • SMP架構(gòu)* 兩個(gè)或多個(gè)同樣的處理器通過一塊共享內(nèi)存彼此連接。每個(gè)處理器可以同等地訪問共享內(nèi)存(具有相同的內(nèi)存空間訪問延遲)。

nginx架構(gòu)

圖片發(fā)自簡書App

1個(gè)master進(jìn)程+多個(gè)worker進(jìn)程

  • msater進(jìn)程:管理worker進(jìn)程,接收來自外界的信號(hào),向各個(gè)worker進(jìn)程發(fā)送信號(hào),監(jiān)控worker進(jìn)程的狀態(tài),當(dāng)某個(gè)worker異常退出后,master進(jìn)程會(huì)重新啟動(dòng)一個(gè)新的worker進(jìn)程來接替。
  • worker進(jìn)程:處理基本的網(wǎng)絡(luò)事件,每個(gè)worker平等競爭來自客戶端的請求,各個(gè)worker相互獨(dú)立,一個(gè)請求只能在一個(gè)worker中處理,不能處理其他進(jìn)程的請求,worker進(jìn)程數(shù)量可以設(shè)定,一般設(shè)為cpu的核心數(shù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容