Nginx 介紹及日常管理的詳解
Nginx(發音同 engine x)是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁服務器中表現較好.中國大陸使用nginx網站用戶有:新浪、網易、 騰訊等。本文簡要描述了Nginx的基本特性及其配置文件的簡單描述。
一、Nginx的工作進程
1、一個主進程: 主進程的主要目的是讀取和評估配置,啟動、終止及維護工作進程以及創建、綁定及關閉套接字。 2、多個工作進程: 工作進程處理web請求。nginx的采用了基于事件的模型和操作系統相關的機制,有效地分配工作進程之間的請求。 負責解析http協議;提供反向代理及過濾功能;nginx任何能完成的其它任務; 工作進程的數量被定義在配置文件中,可以使用配置文件定義固定的數量,或根據可用的CPU內核數實現自動調整其數量。3、緩存加載器(cache loader): 檢查緩存存儲中的緩存對象; 使用緩存元數據建立內存數據庫; 接收、傳入并處理來自客戶端的連接;4、緩存管理器(cache manager): 緩存的失效及過期檢驗;5、基于配置文件定義Nginx的工作方式 nginx的工作方式及其模塊的工作是在配置文件中確定的。 缺省情況下,其配置文件為nginx.conf,通常位于/usr/local/nginx/conf, /etc/nginx, 或者/usr/local/etc/nginx目錄下。
二、Nginx特性
1、Nginx的模塊化特性 Nginx服務器與Apache httpd類似,采用了基于模塊化的構建方式。 在安裝部署Nginx服務器時,一定要遵循:最小化模塊安裝,以節省無用模塊對Nginx的性能影響及占用系統資源。 a、從功能上劃分 Nginx核心模塊:包括Nginx的內核模塊和事件驅動模塊 http服務器模塊:這類模塊包括三類模塊,即HTTP的內核模塊和標準模塊以及可選的HTTP模塊 b、從發布模塊的方式來劃分 官方模塊 第三方模塊 c、從模塊的可選項來劃分 必選模塊(Main和Events) 可選模塊2、Nginx功能特性 模塊化設計、較好擴展性 高可靠性 master-->worker 低內存消耗 10000個keep-alive連接在Nginx僅消耗2.5MB 支持熱部署 不停機而更新配置文件、更換日志文件、更新服務器程序版本 基本功能: 靜態資源的web服務器,能緩存打開的文件描述符; http, smtp, pop3協議的反向代理服務器,緩存、負載均衡; 支持FastCGI (fpm); 模塊化,非DSO機制,過濾器zip,SSI及圖像大小調整; 支持SSL; 非阻塞、事件驅動、一個master生成一個或多個worker, 每個worker響應n個請求; 擴展功能: 基于名稱和IP的虛擬主機; 支持keepalive 支持平滑升級 定制訪問日志 ,支持使用日志緩沖區提高日志存儲性能 支持url rewrite 支持路徑別名 支持基于IP及用戶的訪問控制 支持速率限制,支持并發數限制 Nginx的基本架構: 一個master進程,生成一個或多個worker 事件驅動: epoll, kqueue, /dev/poll (event ports) 消息通知:select, poll, rt signals 支持sendfile, sendfile64 支持AIO 支持mmap 模塊類型: 核心模塊 Standard HTTP modules Optional HTTP modules Mail modules 3rd party modules
新聞熱點
疑難解答