CF516D Drazil and Morning Exercise 題解
阿新 • • 發佈:2020-08-29
nginx介紹
官網:http://nginx.org
nginx:engine X,是由1994年畢業於俄羅斯國立莫斯科鮑曼科技大學的同學為俄羅斯rambler.ru公司開發的,開發工作最早從2002年開始,第一次公開發布時間是2004年10月4日,版本號是0.1.0
nginx 是免費,開源,高效能的HTTP和反向代理伺服器,郵件代理伺服器,通用TCP/UDP代理伺服器,解決C10K問題(10K Connections)。
特性:
模組化設計,較好的擴充套件性 高可靠性 支援熱部署:不停機更新配置檔案,升級版本,更換日誌檔案 低記憶體消耗:10000個keep-alive連線模式下的非活動連線,僅需2.5M記憶體 event-driven,aio,mmap,sendfile基本功能:
nginx架構
master/worker結構 一個master程序:負載載入和分析配置檔案、管理worker程序、平滑升級 一個或多個worker程序,處理並響應使用者請求 快取相關的程序: cache loader:載入快取物件 cache manager:管理快取物件 模組化 nginx高度模組化,但其模組早期不支援DSO機制;1.9.11版本支援動態裝載和解除安裝 模組分類: 核心模組:core module,是 Nginx 伺服器正常執行 必不可少 的模組,提供錯誤日誌記錄 、配置檔案解析 、事件驅動機制 、程序管理等核心功能 標準模組: HTTP 模組: ngx_http_* HTTP Core modules 預設功能,提供 HTTP 協議解析相關的功能,比如: 埠配置 、 網頁編碼設定 、 HTTP響應頭設定 等等 HTTP Optional modules 需編譯時指定。可選HTTP模組,主要用於擴充套件標準的 HTTP 功能,讓 Nginx 能處理一些特殊的服務,比如: Flash 多媒體傳輸 、解析 GeoIP 請求、 網路傳輸壓縮 、 安全協議 SSL 支援等 Mail 模組 ngx_mail_*:主要用於支援 Nginx 的 郵件服務 ,包括對 POP3 協議、IMAP 協議和 SMTP協議的支援 Stream 模組 ngx_stream_*: 第三方模組:是為了擴充套件 Nginx 伺服器應用,完成開發者自定義功能,比如:Json 支援、 Lua 支援等web服務相關的功能:
nginx的安裝
官方yum源: http://nginx.org/packages/centos/7/x86_64/ Fedora-EPEL源: https://mirrors.aliyun.com/epel/7/x86_64/ 編譯安裝: yum install gcc pcre-devel openssl-devel zlib-devel useradd -r -s /sbin/nologin nginx./configure --prefix=/apps/nginx \--user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre \ --with-stream \ --with-stream_ssl_module \ --with-stream_realip_module make && make install