一、Nginx簡介
1.1Nginx特性
子產品化設計,較好的擴充性
高可靠性
支援熱部署:不停機更新配置檔案,更新版本,更換日志檔案
低記憶體消耗:10000個keep-alive連接配接模式下的非活動連接配接,僅 需要2.5M記憶體event-driven,aio,mmap,sendfile
1.2Nginx的基本功能
靜态資源的web伺服器
http協定反向代理伺服器
pop3/imap4協定反向代理伺服器
FastCGI(lnmp),uWSGI(python)等協定
子產品化(非DSO),如zip,SSL子產品
1.3Nginx與web服務相關的功能
虛拟主機(server)
支援 keep-alive 和管道連接配接
通路日志(支援基于日志緩沖提高其性能)
url rewirte 路徑别名
基于IP及使用者的通路控制
支援速率限制及并發數限制
重新配置和線上更新而無須中斷客戶的工作程序
Memcached 的 GET 接口
二、Nginx服務架構
master/worker結構
master程序:負責加載和分析配置檔案、管理worker程序,平滑更新
worker程序:接收用戶端請求、将請求一次送入各子產品過濾、I/O調用、資料緩存、發送響應
cache相關程序:cache loader (緩存索引重建)與cache manager(緩存索引管理)組成
--Cache loader在Nginx服務啟動後由主程序生成,根據本地磁盤上緩存建立索引中繼資料庫後退出。
--Cache manager在中繼資料更新完成後,對中繼資料是否過期做出判斷。
三、Nginx的配置檔案結構
配置檔案的組成部分
主配置檔案:nginx.conf
子配置檔案:include conf.d/*.conf
fastcgi、uwsgi、scgi:等協定相關的配置檔案。在根路徑下
mime.types:支援的mime類型。在根路徑下
