摘要:服務器架構模塊化結構服務器的開發(fā)完全遵循模塊化設計思想什么是模塊化開發(fā)單一職責原則,一個模塊只負責一個功能將程序分解,自頂向下,逐步求精高內聚,低耦合的模塊化結構核心模塊最基本最核心的服務,如進程管理權限控制日志記錄標準模塊服務器的標準功能
Nginx服務器架構 模塊化結構
什么是模塊化開發(fā)?Nginx 服務器的開發(fā)完全遵循模塊化設計思想
單一職責原則,一個模塊只負責一個功能
將程序分解,自頂向下,逐步求精
高內聚,低耦合
Nginx的模塊化結構核心模塊: Nginx最基本最核心的服務,如進程管理、權限控制、日志記錄;
標準HTTP模塊: Nginx服務器的標準HTTP功能;
可選HTTP模塊: 處理特殊的HTTP請求
郵件服務模塊: 郵件服務
第三方模塊: 作為擴展,完成特殊功能
Nginx的模塊清單
核心模塊
ngx_core
ngx_errlog
ngx_conf
ngx_events
ngxeventcore
ngx_epll
ngx_regex
標準HTTP模塊
ngx_http
ngxhttpcore #配置端口,URI分析,服務器相應錯誤處理,別名控制(alias)等
ngxhttplog #自定義access日志
ngxhttpupstream #定義一組服務器,可以接受來自proxy, Fastcgi,Memcache的重定向;主要用作負載均衡
ngxhttpstatic
ngxhttpautoindex #自動生成目錄列表
ngxhttpindex #處理以/結尾的請求,如果沒有找到index頁,則看是否開啟了random_index;如開啟,則用之,否則用autoindex
ngxhttpauthbasic #基于http的身份認證(authbasic)
ngxhttpaccess #基于IP地址的訪問控制(deny,allow)
ngxhttplimit_conn #限制來自客戶端的連接的響應和處理速率
ngxhttplimit_req #限制來自客戶端的請求的響應和處理速率
ngxhttpgeo
ngxhttpmap #創(chuàng)建任意的鍵值對變量
ngxhttpsplit_clients
ngxhttpreferer #過濾HTTP頭中Referer為空的對象
ngxhttprewrite #通過正則表達式重定向請求
ngxhttpproxy
ngxhttpfastcgi #支持fastcgi
ngxhttpuwsgi
ngxhttpscgi
ngxhttpmemcached
ngxhttpempty_gif #從內存創(chuàng)建一個1×1的透明gif圖片,可以快速調用
ngxhttpbrowser #解析http請求頭部的User-Agent 值
ngxhttpcharset #指定網(wǎng)頁編碼
ngxhttpupstreamiphash
ngxhttpupstreamleastconn
ngxhttpupstream_keepalive
ngxhttpwrite_filter
ngxhttpheader_filter
ngxhttpchunked_filter
ngxhttprange_header
ngxhttpgzip_filter
ngxhttppostpone_filter
ngxhttpssi_filter
ngxhttpcharset_filter
ngxhttpuserid_filter
ngxhttpheaders_filter #設置http響應頭
ngxhttpcopy_filter
ngxhttprangebodyfilter
ngxhttpnotmodifiedfilter
可選HTTP模塊
ngxhttpaddition #在響應請求的頁面開始或者結尾添加文本信息
ngxhttpdegradation #在低內存的情況下允許服務器返回444或者204錯誤
ngxhttpperl
ngxhttpflv #支持將Flash多媒體信息按照流文件傳輸,可以根據(jù)客戶端指定的開始位置返回Flash
ngxhttpgeoip #支持解析基于GeoIP數(shù)據(jù)庫的客戶端請求
ngxgoogleperftools
ngxhttpgzip #gzip壓縮請求的響應
ngxhttpgzip_static #搜索并使用預壓縮的以.gz為后綴的文件代替一般文件響應客戶端請求
ngxhttpimage_filter #支持改變png,jpeg,gif圖片的尺寸和旋轉方向
ngxhttpmp4 #支持.mp4,.m4v,.m4a等多媒體信息按照流文件傳輸,常與ngxhttpflv一起使用
ngxhttprandom_index #當收到/結尾的請求時,在指定目錄下隨機選擇一個文件作為index
ngxhttpsecure_link #支持對請求鏈接的有效性檢查
ngxhttpssl #支持https
ngxhttpstub_status
ngxhttpsub_module #使用指定的字符串替換響應中的信息
ngxhttpdav #支持HTTP和WebDAV協(xié)議中的PUT/DELETE/MKCOL/COPY/MOVE方法
ngxhttpxslt #將XML響應信息使用XSLT進行轉換
郵件服務模塊
ngxmailcore
ngxmailpop3
ngxmailimap
ngxmailsmtp
ngxmailauth_http
ngxmailproxy
ngxmailssl
第三方模塊
echo-nginx-module #支持在nginx配置文件中使用echo/sleep/time/exec等類Shell命令
memc-nginx-module
rds-json-nginx-module #使nginx支持json數(shù)據(jù)的處理
lua-nginx-module
Nginx的web請求處理機制作為服務器軟件,必須具備并行處理多個客戶端的請求的能力, 工作方式主要以下3種:
多進程(Apache)
優(yōu)點: 設計和實現(xiàn)簡單;子進程獨立
缺點: 生成一個子進程要內存復制, 在資源和時間上造成額外開銷
多線程(IIS)
優(yōu)點: 開銷小
缺點: 開發(fā)者自己要對內存進行管理;線程之間會相互影響
異步方式(Nginx)
經(jīng)常說道異步非阻塞這個概念, 包含兩層含義:
通信模式:
同步: 發(fā)送方發(fā)送完請求后,等待并接受對方的回應后,再發(fā)送下個請求
異步: 發(fā)送方發(fā)送完請求后,不必等待,直接發(fā)送下個請求
Nginx的事件驅動模型文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/39207.html
摘要:版本的特性并行的三次握手四次揮手粘包問題,連接池,攻擊通信原理加密算法配置文件逐行理解與配置配置規(guī)則錯誤的排查架構原理的理解的了解配置文件進程數(shù)與和內存的關系垃圾回收內存泄漏運行過程協(xié)議與的區(qū)別注是擴展庫版本是版本算法一致性 1,http (1)request reponse (2)code:200 302,304 400 404 403 500 502 504 nginx499 ...
摘要:它同時也和微服務架構相互促進,并肩前行。為了反向代理的速度,會和后端保持一個連接池。好了,現(xiàn)在我們可以知道,可以很好的勝任微服務架構中的了。我認為并不適合微服務架構,但依然是有個復雜的架構方案的,這個主題改天再說。 背景 大家都知道,Docker這些年讓IT界產(chǎn)生了深刻的變革,從開發(fā)到測試到運維,處處都有它的身影。它同時也和微服務架構相互促進,并肩前行。 在最新版的 Docker(CE...
摘要:它同時也和微服務架構相互促進,并肩前行。為了反向代理的速度,會和后端保持一個連接池。好了,現(xiàn)在我們可以知道,可以很好的勝任微服務架構中的了。我認為并不適合微服務架構,但依然是有個復雜的架構方案的,這個主題改天再說。 背景 大家都知道,Docker這些年讓IT界產(chǎn)生了深刻的變革,從開發(fā)到測試到運維,處處都有它的身影。它同時也和微服務架構相互促進,并肩前行。 在最新版的 Docker(CE...
閱讀 1167·2021-11-25 09:43
閱讀 2982·2019-08-30 15:54
閱讀 3364·2019-08-30 15:54
閱讀 3017·2019-08-30 15:44
閱讀 1637·2019-08-26 12:18
閱讀 2268·2019-08-26 11:42
閱讀 888·2019-08-26 11:35
閱讀 3306·2019-08-23 18:22