跳至主要內容

將 Mastra 部署至 Amazon EC2

將 Mastra 伺服器部署至 Amazon EC2。伺服器會在你管理的基礎架構上執行,並可支援長時間執行的 Agent 和 Workflow。

資訊

本指南說明如何部署 Mastra 伺服器。若你使用伺服器轉接器Web 框架,請依該框架平常的方式部署。

開始之前
「開始之前」的直接連結

你需要:

  • 一個 Mastra 應用程式
  • 一個已安裝 Git 和 Node.js 22.13.0 以上版本的 EC2 執行個體(Ubuntu 或 Amazon Linux)

若要用於正式環境,你還需要:

  • 指向執行個體的網域名稱(SSL 憑證需要)
  • 網域的 SSL 憑證(例如使用 Certbot 搭配 Let's Encrypt)
  • 反向代理伺服器(例如 nginx),用來將流量轉送至應用程式

部署
「部署」的直接連結

  1. 連線至 EC2 執行個體並複製儲存庫:

    git clone https://github.com/<your-username>/<your-repository>.git

    前往儲存庫目錄:

    cd "<your-repository>"
  2. 安裝相依套件:

    npm install
  3. 建立 .env 檔案並加入環境變數:

    touch .env

    請記得設定執行應用程式所需的環境變數(例如模型 Provider 的 API 金鑰):

    OPENAI_API_KEY=<your-openai-api-key>
    # Add other required environment variables
  4. 建置應用程式:

    npm run build
  5. 執行應用程式:

    node --env-file=".env" .mastra/output/index.mjs

    這是基本範例。在正式環境中,請使用 PM2systemd 等處理程序管理工具,讓應用程式持續執行並處理重新啟動。

    警告

    將端點公開前,請先設定驗證

  6. Mastra 伺服器現在已在 4111 連接埠上執行,但只能從本機存取。

    你可以在 EC2 安全群組中開放 4111 連接埠以直接存取,或設定反向代理伺服器(例如 nginx)監聽 80 和 443 連接埠,並將要求轉送至 http://localhost:4111

    在正式環境中,應使用反向代理伺服器以便設定 HTTPS。HTTPS 會加密流量,而且大多數 webhook 整合及 Agent 互動的外部服務都需要使用 HTTPS。

  7. 前往 https://<your-ec2-address>/api/agents 驗證部署;頁面應傳回 Agent 的 JSON 清單。

  8. 現在可以透過 HTTP 呼叫 Mastra 端點。

後續步驟
「後續步驟」的直接連結