Chuyển đến nội dung chính

Nginx 從入門到進階

Nginx 大師課程:從零到英雄。這是一門全面的課程,幫助您從最基礎的概念到實際生產環境中的 進階技術,全面掌握 Nginx。

第1課:介紹與安裝

  • Nginx 是什麼?事件驅動架構與非阻塞 I/O

  • Nginx 與 Apache 的比較

  • 在 Linux(Ubuntu/CentOS)、macOS、Windows 上安裝 Nginx

  • 目錄結構與基本設定檔

  • 啟動、停止、重新載入 Nginx

第2課:基本設定

  • nginx.conf 設定檔語法

  • 內容與指令(http、server、location)

  • 虛擬主機設定(server blocks)

  • 提供靜態檔案(HTML、CSS、JS、images)

  • index 檔案與 autoindex 設定

  • 自訂錯誤頁面

第3課:日誌與監控

  • 存取日誌與錯誤日誌

  • 自訂日誌格式

  • 使用 logrotate 進行日誌輪替

  • 監控的基本指標

第4課:反向代理

  • 反向代理概念

  • proxy_pass 基本設定

  • 代理標頭(X-Real-IP、X-Forwarded-For)

  • 上游伺服器與負載均衡

  • 基本健康檢查

第5課:負載均衡

  • 負載均衡演算法(round-robin、least_conn、ip_hash、hash)

  • upstream 區塊設定

  • 備用伺服器與權重

  • 黏性會話

  • 主動健康檢查

第6課:快取

  • 使用 expires 和 Cache-Control 標頭的瀏覽器快取

  • 基本代理快取

  • FastCGI 快取

  • 快取鍵與快取區域

  • 快取清除與繞過

第7課:SSL/TLS 與 HTTPS

  • SSL 憑證設定(Let's Encrypt)

  • HTTP 轉 HTTPS 重新導向

  • SSL 通訊協定與加密套件

  • HSTS(HTTP Strict Transport Security)

  • OCSP Stapling

  • HTTP/2 設定

第8課:效能調校

  • 工作行程與工作連線數

  • Keepalive 連線

  • 緩衝區與逾時最佳化

  • Gzip 壓縮

  • Sendfile 與 tcp_nopush

  • 開放檔案快取

第9課:資安設定

  • 使用 limit_req 和 limit_conn 進行速率限制

  • 使用 deny/allow 封鎖 IP

  • 基本驗證

  • ModSecurity WAF 整合

  • 基本 DDoS 防護

  • 安全標頭(CSP、X-Frame-Options 等)

第10課:重寫與重新導向

  • 使用正規表示式的重寫規則

  • return 與 rewrite 指令的差異

  • 位置比對(exact、prefix、regex)

  • try_files 指令

  • 條件式重新導向

第11課:Nginx 與應用程式堆疊

  • PHP-FPM 設定

  • Nginx + Node.js

  • Nginx + Python(uWSGI、Gunicorn)

  • Nginx + Docker 容器

  • WebSocket 代理

第12課:高可用性

  • Nginx Plus 功能(如適用)

  • 主動-主動及主動-被動設定

  • 故障轉移策略

  • HA 的 Keepalived

  • DNS 循環(round-robin)

第13課:微服務與 API 閘道

  • Nginx 作為 API 閘道

  • 服務探索

  • 熔斷器模式

  • JWT 驗證

  • 每個用戶端的 API 速率限制

第14課:進階主題

  • Nginx 模組(新增第三方模組)

  • 使用 OpenResty 的 Lua 腳本

  • Nginx 串流(RTMP 模組)

  • GeoIP 過濾

  • 自訂錯誤處理

  • 使用 Nginx 進行 A/B 測試

第15課:監控與問題排除

  • Stub status 模組

  • Nginx Amplify 或 Prometheus exporter

  • 除錯日誌

  • 常見錯誤與解決方案

  • 效能分析

第16課:最佳實踐與正式環境

  • 設定管理

  • 藍綠部署

  • 零停機部署

  • 備份與災難復原

  • 資安強化檢查清單

  • 文件撰寫與維護