跳到主要內容

啟動伺服器

blocklet server start 命令是啟動您的 Blocklet Server 執行個體的主要方法。它會將所有必要的元件初始化並作為背景守護程序執行,使您的伺服器及其 blocklet 可供存取。

基本用法

要從其設定目錄啟動伺服器,只需執行:

Basic Start Command

bash
blocklet server start

成功啟動後,該命令將輸出伺服器儀表板的存取 URL。

啟動過程

當您執行 blocklet server start 時,CLI 會執行一系列關鍵任務,以確保伺服器正確且在一致的狀態下啟動。了解此過程有助於設定和疑難排解。

Start Server

  1. 版本檢查

    CLI 首先驗證其版本是否與伺服器 config.yml 檔案中指定的版本相容,以防止潛在的衝突。

  2. 資料庫遷移

    如果偵測到版本升級,CLI 會自動執行任何必要的資料庫結構和資料遷移,以確保資料庫為最新狀態。

  3. 設定同步

    它會比較 config.yml 中的設定與儲存在資料庫中的設定。如果發現差異,將會發出警告。

  4. 相依性檢查

    伺服器確保所需的服務(如 Redis 或 PostgreSQL)可用,如果設定為這樣做(例如,透過 Docker),則會嘗試啟動它們。

  5. 程序啟動

    CLI 使用 PM2 啟動核心背景程序:主要的 Daemon(處理 Web 請求和路由)、Blocklet Service(管理 blocklet 生命週期和服務)以及 Event Hub(促進程序間通訊)。

  6. Blocklet 恢復

    在伺服器上次停止前處於 running 狀態的任何 blocklet 都會自動重新啟動。

  7. 輸出 URL

    一旦確認所有程序都健康且正在執行,CLI 將列印伺服器儀表板的存取 URL。

命令選項

您可以使用以下旗標修改啟動行為:

選項描述
--update-db強制伺服器從 config.yml 中的值更新其資料庫設定。如果您手動編輯了設定檔並希望變更生效,這很有用。
--auto-init如果在目前目錄中找不到 Blocklet Server 執行個體,此旗標將在啟動前自動初始化一個。這是一種用單一命令設定並執行新伺服器的便捷方法。
--force-intranet限制伺服器在內網模式下執行,忽略任何外部 IP 位址,僅提供區域網路存取 URL。
--mode <mode>以特定的操作模式啟動伺服器。例如,使用 --mode maintenance 將以維護模式啟動伺服器。

範例:更新設定

如果您在 config.yml 中變更了設定(例如伺服器埠號),則必須使用 --update-db 旗標才能套用變更。

Applying Configuration Changes

bash
# 1. 如果伺服器正在執行,請先停止
blocklet server stop

# 2. 使用旗標重新啟動伺服器以套用設定變更
blocklet server start --update-db

範例:自動初始化

要在空目錄中快速啟動一個新的伺服器執行個體:

Quick Setup with Auto-Init

bash
# 這將建立一個 .blocklet-server 目錄,然後啟動伺服器
blocklet server start --auto-init

疑難排解

如果伺服器啟動失敗,CLI 將提供即時回饋:

  • 錯誤日誌:守護程序的錯誤日誌(daemon.stderr.log)的最後 15 行將直接列印到您的控制台。有關更詳細的資訊,您應該檢查輸出中提到的完整日誌檔案。
  • 路由器問題:有時,啟動失敗與路由引擎有關。再次執行 blocklet server start 通常可以解決這些問題。
  • 強制停止:如果伺服器變得無回應,您可以在嘗試重新啟動之前,執行 blocklet server stop --force 來確保乾淨地關閉。

伺服器執行後,您會想要檢查其健康狀況並管理您的 blocklet。了解如何 檢查狀態停止伺服器