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...