現在要架設一個網站不是一件難事,透過雲端服務,隨時都能自己架設屬於你的網站系統。
如下圖所示:

這是一張典型的 三層式架構 (3-Tier Architecture) 在 Ubuntu Linux 伺服器上的實作圖解。作為部落格內容,你可以將這張圖視為「現代網頁應用程式的標準起手式」。
以下我為你整理了各個層級的專業解釋:
1. 客戶端層 (Client Side)
這是整個流程的起點,代表終端使用者。
-
組成: 包含桌上型電腦、手機、平板等各種行動裝置。
-
行為: 使用者透過瀏覽器發送 HTTP/HTTPS 請求,跨越網際網路(Internet)抵達你的伺服器。這是外部網路與內部架構的交界點。
2. Web 伺服器與負載平衡層 (Web Server / Load Balancer)
這是伺服器的「門房」與「交通指揮官」。
-
核心組件: 常見工具為 Nginx 或 Apache。
-
主要職責:
-
流量接收: 接收來自客戶端的請求。
-
靜態資源處理: 直接處理 HTML、CSS、圖片等靜態檔案,減輕後端負擔。
-
反向代理與負載平衡: 如果有多台後端伺服器,它負責將流量平均分配,並確保安全性(如 SSL 憑證管理)。
-
3. 應用程式層 (Application Layer)
這是架構的「大腦」,負責處理商業邏輯(Business Logic)。
-
多語言支持: 現代部署環境支持多種語言框架,如 Python (Django/Flask)、Node.js、Java (Spring)、Go、Ruby 或 PHP。
-
主要職責:
-
請求處理: 接收從 Web Server 傳來的請求,進行運算、驗證與處理。
-
橋樑作用: 它是前端與資料庫之間的溝通橋樑,負責將處理完的資料封裝成 HTTP 響應(Response)回傳。
-
4. 資料庫層 (Database Layer)
這是架構的「記憶體」,負責數據的持久化儲存與管理。
-
資料庫管理系統 (DBMS):
-
關聯式資料庫 (RDBMS): 如 MySQL、PostgreSQL、MariaDB,適合結構化數據與複雜查詢。
-
非關聯式資料庫 (NoSQL): 如 MongoDB,適合彈性結構數據。
-
快取系統 (Cache): 如 Redis,用於儲存高頻率存取的資料,極大化系統響應速度。
-
-
互動方式: 應用層透過 SQL 語法或 API Calls 向此層請求數據,資料庫則回傳查詢結果。
5. 基礎設施主機 (Host: Ubuntu Linux Server)
圖中藍色的外框代表了這一切運行的環境。
-
作業系統: 選擇 Ubuntu Linux 作為 Host OS 是業界主流,因其擁有強大的社群支援、穩定性以及對 Docker、K8s 等容器化工具的完美相容性。
-
部署意義: 無論你是部署在 AWS EC2、地端機房還是雲端虛擬機,Ubuntu 提供了一個標準化、可縮放的執行空間。
結語:
在現代雲端部署中,我們通常會進一步將這些層級容器化 (Containerization)。例如使用 Docker 將應用層打包,再透過 Kubernetes (K8s) 或 AWS ECS 進行自動化編排。這種「解耦」的設計讓每一層都能獨立擴展(Scaling),是建構高可用性系統的基石。