什麼是 Server (伺服器)?

1
什麼是 Server (伺服器)?:伺服器(Server)是專門設計用來管理資源、處理請求並為多個客戶端提供服務的電腦系統或軟體,可以是硬體設備也可以是運行特定服務的程式。它遵循「請求-回應」模式,接收來自瀏覽器、手機 App 或其他系統的請求,執行計算後返回資料,支撐網站、資料庫、雲端服務等現代應用基礎設施。

什麼是 Server (伺服器)?

伺服器(Server)是專門設計用來管理資源、處理請求並為多個客戶端提供服務的電腦系統或軟體,可以是硬體設備也可以是運行特定服務的程式。它遵循「請求-回應」模式,接收來自瀏覽器、手機 App 或其他系統的請求,執行計算後返回資料,支撐網站、資料庫、雲端服務等現代應用基礎設施。

 

伺服器的雙重定義

伺服器有兩種主要定義,常引起混淆:

  • 硬體伺服器:高性能電腦,具備強大 CPU、大量 RAM、大容量硬碟與冗餘電源,24/7 連續運行。

  • 軟體伺服器:運行於硬體上的程式,如 Apache(網頁伺服器)、PostgreSQL(資料庫伺服器)、Node.js(應用伺服器)。

實際應用通常是兩者結合:硬體運行軟體伺服器程式。

 

伺服器類型分類

依服務功能分為多種類型:

類型 功能 範例軟體
網頁伺服器 提供 HTML/CSS/JS Apache、Nginx、IIS
應用伺服器 執行後端程式碼 Tomcat、Node.js、Gunicorn
資料庫伺服器 資料儲存與查詢 MySQL、PostgreSQL、MongoDB
檔案伺服器 大檔案存取與串流 NFS、Samba、FTP
郵件伺服器 電子郵件傳輸 Postfix、Exchange
遊戲伺服器 即時多人遊戲 Unity Multiplayer、Unreal Engine

 

客戶端-伺服器架構原理

核心是 C/S(Client-Server)模型:

客戶端請求 → 網路 → 伺服器處理 → 資料庫/API → 回應 → 客戶端顯示
瀏覽器 → HTTP → Nginx → Node.js → PostgreSQL → JSON → 網頁渲染
 

HTTP 請求流程

  1. 瀏覽器發 GET /api/users

  2. Nginx 接收並轉發至 Node.js(埠 3000)

  3. Node.js 查詢資料庫 SELECT * FROM users

  4. 資料庫返回 JSON 陣列

  5. Node.js 序列化回應

  6. Nginx 返回 HTTP 200 + JSON

 

伺服器硬體架構特色

與個人電腦相比,伺服器強調:

  • 高可用性:RAID 磁碟陣列、熱插拔電源、冗餘風扇

  • 可擴展性:多 CPU 插槽、大量 DIMM 插槽

  • 遠端管理:IPMI/BMC 獨立管理介面

  • ECC 記憶體:錯誤校正,防資料損壞

典型 1U 機架式伺服器:
雙 Intel Xeon CPU (32 核心)
512GB DDR4 ECC RAM
4 × 2TB NVMe SSD (RAID 10)
雙 10GbE 網卡
冗餘 800W 電源
 

常見伺服器軟體配置

LAMP 堆疊(Linux Apache MySQL PHP):

Linux (Ubuntu 22.04)
Apache 2.4 / Nginx 1.24
MySQL 8.0 / PostgreSQL 15
PHP 8.2 / Node.js 20
 

現代 MEAN/MERN 堆疊

MongoDB + Express.js + React + Node.js
 

部署架構演進

時代 架構 特色
傳統 單機 Apache + PHP + MySQL
虛擬化 VM VMware、VirtualBox 多虛擬機
容器化 Docker 輕量隔離,快速啟動
容器編排 Kubernetes 自動擴展、自我修復
無伺服器 Serverless FaaS,按請求計費

Docker 容器範例

# docker-compose.yml
version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    depends_on:
      - app
  app:
    build: ./backend
    environment:
      - DATABASE_URL=postgres://db:5432/app
  db:
    image: postgres:15
 

負載平衡與高可用

多台伺服器協作

使用者請求 → 負載平衡器(LB) → 伺服器叢集(3-5 台)
                          ↓
                    共享儲存(NAS/S3) + 快取(Redis)
 

常見 LB 演算法

  • 輪詢(Round Robin):平均分配

  • 最少連線:分配給閒置伺服器

  • IP 雜湊:相同客戶端固定伺服器(Session 黏性)

雲端與邊緣運算伺服器

雲端實例

  • AWS EC2:按小時計費,自動擴展

  • Google Cloud Run:容器即服務,按請求計費

  • Azure App Service:PaaS,零伺服器管理

邊緣運算

CDN 節點 → 邊緣伺服器 → 快取熱門內容 → 低延遲回應
Cloudflare Workers、Fastly → 全球 300+ 節點
 

伺服器安全最佳實務

1. 最小權限原則:非 root 用戶執行服務
2. 定期更新:OS、套件、SSL 憑證
3. 防火牆:僅開放必要埠(80、443、22)
4. WAF:防 SQL 注入、XSS
5. 日誌監控:ELK、Prometheus
6. DDoS 防護:Cloudflare、AWS Shield
 

伺服器是互聯網的基石,從單機 Apache 到 Kubernetes 叢集,從傳統硬體到無伺服器,從單純網頁託管到 AI 推理服務。理解伺服器原理與架構,就能設計高效、安全、可擴展的系統,成為完整的全端工程師。