一、Nginx簡介 1.1Nginx特性 模塊化設計,較好的擴展性 高可靠性 支持熱部署:不停機更新配置文件,升級版本,更換日誌文件 低記憶體消耗:10000個keep alive連接模式下的非活動連接,僅 需要2.5M記憶體event driven,aio,mmap,sendfile 1.2Nginx ...
一、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類型。在根路徑下