《深入理解Nginx 模組開發與架構解析》讀書筆記

2022-01-18 02:36:26 字數 1978 閱讀 5482

1.nginx的特點:快、擴充套件性強、可靠性強、記憶體低消耗、支援高併發、熱部署、開源免費

2.nginx由master程序來管理多個(cpu數)worker程序

3.配置按功能分,有4類:

1)用於除錯、定位問題的配置項

2)正常執行必備的配置項

3)優化效能的配置項

4)事件類配置項

4.web伺服器配置

4.1虛擬主機與請求的分發:

1)listen:監聽埠【server】

2)server_name:請求中的主機網域名稱【server】

3)server_names_has_buket_size:每個雜湊桶的記憶體大小【server、http、location】

4)server_names_has_max_size:分配的記憶體大小,記憶體越大衝突越小,檢索越快【server、http、location】

5)server_names_in_redirect:決定是否使用是server_name配置的主機名代替host中的頭部【server、http、location】

6)location:匹配uri,如果匹配,用後面的配置來處理請求【server】

4.2檔案路徑的定義:

1)root:定義資源檔案目錄的相對於請求的路徑【server、http、location、if】

2)alias:定義資源檔案目錄的相對於請求的路徑的別名【location】

3)index:首頁檔案【server、http、location】

4)error_page:錯誤碼重定向頁面【server、http、location、if】

5)recursive_error_page:是否允許遞迴定義錯誤頁面【server、http、location】

6)try_files:嘗試訪問uri,如果都不存在則重定向到最後設定的路徑【server、location】

4.4網路連線的設定:連線、超時、關閉

4.5mime型別設定:型別type與檔案字尾的對映

4.6對客戶端請求限制:請求方法、包體最大值、限速

4.7檔案操作優化:io、快取

4.8對客戶端請求的特殊處理:head合法性、uri檢查、dns

4.9ngx_http_core_module模組提供的變數:

5.負載均衡的配置

5.1.upstream:上游伺服器集群【http】  

5.2.server:上游伺服器名字【upstream】

5.3.ip_hash:根據ip**的策略

5.4.記錄日誌時支援的變數

6.反向**的配置

6.2.proxy_method:**時的方法

6.3.proxy_hide_header:**時過濾掉某些字段

6.4.proxy_pass_header:與上面配置相反

6.5.proxy_pass_request_body:是否**body

6.6.proxy_pass_request_headers:是否**header

6.8.proxy_next_upstream:發生錯誤時,配置另一台伺服器處理請求

後面是nginx的高階部分,介紹了如何開發乙個nginx模組和了解nginx的實現原理,如果有機會的話,再繼續學習:

附錄

常用命令:

1.校驗配置檔案: nginx -t

2.啟動服務 nginx

3.停止服務:nginx -s quit|stop

4.重啟服務:nginx -s reload

5.(日誌移走後)重新寫入新日誌:nginx -s reopen

6.顯示命令幫助:nginx -h

深入理解Nginx 第8章 nginx基礎架構

吞吐量 頻寬指的是單個連線的吞吐量 單次請求的延遲性 網路效率 長連線減少建立 關閉連線的成本,壓縮演算法增加資訊攜帶量 ngx conf module 唯一只有乙個模組 ngx conf module 的模組型別 ngx core module 核心模組,包括ngx core module,ngx...

深入理解nginx

1.檢視核心版本 因為2.6以上的核心才支援epoll,nginx的高併發的特性依賴epoll uname a linux com.guang 3.10.0 514.16.1.el7.x86 64 1 smp wed apr 12 15 04 24 utc 2017 x86 64 x86 64 x8...

《深入理解nginx》總結

一些指標 和nginx有關的核心調優 可以修改 etc sysctl.conf來更改核心引數調優 nginx為訪問第三方服務做的優化 在用nginx開發模組時,如果需要訪問第三方服務,不能自己簡單的用套接字程式設計,會破壞nginx全非同步架構。nginx提供了兩種全非同步通訊方式 upstream...