Nginx工作原理
本文分享自天翼雲開發者社群《 Nginx工作原理 》,作者: 王****秀
Nginx的程式模型
Nginx伺服器由一個Master程式和多個Worker程式組成:
Master程式:管理Worker程式。對外介面:接收外部的操作(訊號);對內轉發:根據外部操作的不同,透過訊號管理Worker;監聽:監控Worker程式的執行狀態,Worker程式異常終止後,自動重啟Worker程式。
Worker程式:所有Worker程式都是平等的,用於處理網路請求。程式數量:在nginx.conf中配置,一般設定為核心數,充分利用CPU資源,同時,避免程式數量過多,避免程式競爭CPU資源,增加上下文切換的損耗。
HTTP連線建立和請求處理過程
Nginx啟動時,Master程式載入配置檔案。
Master程式,初始化監聽的Socket。
Master程式,Fork出多個Worker程式。
Worker程式,競爭新的連線,獲勝方透過三次握手,建立Socket連線,並處理請求。
Nginx 高效能、高併發
Nginx 採用多程式+非同步非阻塞方式(IO 多路複用 Epoll)。
請求的完整過程:建立連線→讀取請求→解析請求→處理請求→響應請求。
請求的完整過程對應到底層就是:讀寫 Socket 事件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2991750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx 工作原理和優化、漏洞Nginx優化
- Nginx的工作原理和配置詳解Nginx
- Ingress-nginx工作原理和實踐Nginx
- 從Nginx、Apache工作原理看為什麼Nginx比Apache高效NginxApache
- nginx+php執行請求的工作原理NginxPHP
- nginx執行請求的工作原理之location匹配詳解Nginx
- require工作原理UI
- Mybatis工作原理MyBatis
- Handler 工作原理
- rman工作原理
- mydumper工作原理
- pr工作原理
- Nginx 原理和架構Nginx架構
- Nginx 優化及原理Nginx優化
- Nginx 工作模式和程式模型Nginx模式模型
- javascript引擎工作原理JavaScript
- ZStack基本工作原理
- Mirror 的工作原理
- Web Scraper工作原理Web
- HTTPS工作原理HTTP
- SpringMVC工作原理SpringMVC
- Spark的工作原理Spark
- Docker 工作原理分析Docker
- panic/recover工作原理
- 【MySQL】Mydumper工作原理MySql
- View的工作原理View
- HashMap的工作原理HashMap
- DHCP的工作原理
- tcmalloc的工作原理
- 相機工作原理
- undo的工作原理
- MySQL:索引工作原理MySql索引
- ORACLE RAC工作原理Oracle
- FTP工作原理(轉)FTP
- pr工作原理文件
- OAuth的工作原理OAuth
- 監控Nginx的工作狀態Nginx
- SRAM電路工作原理