Skip to content

Nginx 與 Fluentd 課程簡介

課程目標

本課程在教授學員如何使用 Nginx 作為 Angular 應用程式的 Web 伺服器,以及如何配置 Nginx 生成結構化 JSON 日誌,並通過 Fluentd 進行日誌的集中管理。學員需設計兩個簡單的 Angular 應用程式 (例如 Hello World A, Hello World B),並使用 Nginx 進行 A/B 部署。此外,為了便於測試,Fluentd 的客戶端和伺服器將部署在同一台機器上。課程分為兩大部分,前兩天專注於 Nginx,後兩天專注於 Fluentd。

A/B 佈署應用簡介

A/B 佈署是一種在 production 環境中測試新功能或改進的策略,它允許您將用戶分成兩組,一組使用舊版本的應用程式(A 版),另一組使用帶有新功能的版本(B 版)。這種方法的主要目的是比較兩個版本在用戶體驗、性能和其他關鍵指標上的表現,從而幫助決策者決定是否全面推出新功能。

學習重點

  • Nginx 的配置與部署:學習如何安裝、配置 Nginx 伺服器,並部署 Angular 應用。
  • 結構化日誌管理:了解如何設定 Nginx 生成結構化 JSON 日誌,並使用 Fluentd 進行日誌的集中式管理。
  • Fluentd 的安裝與應用:學習安裝 Fluentd,配置客戶端與伺服器,進行日誌的收集、處理與分析。
  • 系統性能優化與安全性:研究如何優化 Nginx 和 Fluentd 的性能,並掌握相關安全最佳實踐。

習作與練習

  • 日常習作:每天結束時,學員需完成與當日課程相關的實踐習題,如設置 Nginx 伺服器,配置 A/B 測試,以及設置 Fluentd 日誌收集。
  • 結業項目:學員需要完成一個整合了 Nginx 和 Fluentd 的 Angular 應用部署項目,展示從前端到後端的完整流程。

展示與討論

  • 結業展示:在課程的最後一天,學員將展示他們的結業項目,演示如何使用 Nginx 進行 Angular 應用的 A/B 部署,並展示如何通過 Fluentd 管理日誌。
  • 交流討論:鼓勵學員在課程中分享經驗,並就使用中遇到的問題進行討論和解答。這將有助於加深理解並促進團隊合作。