blocklet server init 命令會透過在目前工作目錄中建立一個專用的設定目錄 .blocklet-server 來初始化一個新的 Blocklet Server 執行個體。此目錄包含 config.yml 檔案以及執行伺服器所需的其他資產。此過程可以透過引導式設定以互動方式執行,或使用命令列旗標以非互動方式執行。
使用方法
要初始化一個新的伺服器設定,請導覽至所需目錄並執行以下命令:
基本初始化命令
blocklet server init不帶任何旗標執行此命令將啟動一個互動式設定精靈,引導您完成設定過程。
互動式設定
在互動模式下執行時,CLI 將提示您輸入必要的設定詳細資訊。下表概述了每個問題、其說明以及提供的預設值。
| 提示 | 說明 | 預設值 |
|---|---|---|
| 為伺服器命名? | 您的 Blocklet Server 執行個體的人類可讀名稱。 | 一個隨機產生的名稱(例如 purple-shape-7133) |
| 伺服器的描述? | 簡要描述伺服器的用途。 | My Blocklet Server |
| 您希望伺服器在哪個連接埠上監聽? | Blocklet Server 常駐進程的內部連接埠。 | 3030 |
| 選擇路由引擎 | 管理傳入流量的路由提供者(例如 Nginx)。 | 自動偵測現有的提供者,如 nginx。 |
| 您想將管理儀表板掛載在哪裡? | 用於存取伺服器管理介面的 URL 路徑。 | /admin |
| 您想使用哪個網頁錢包? | 要與伺服器整合的網頁錢包的 URL。 | 因環境而異。 |
| 您想啟用 https 支援嗎... | 為儀表板和 blocklet 啟用或停用 SSL/TLS。 | true |
| 什麼是 ip 萬用字元網域? | 透過伺服器 IP 位址存取 blocklet 的網域。 | ip.abtnet.io |
| 從哪裡下載萬用字元憑證? | 用於取得 HTTPS 支援的萬用字元憑證的 URL。 | https://releases.arcblock.io/certs/ |
| 伺服器允許的最大上傳檔案大小(MB)? | 允許上傳的最大檔案大小。 | 16 MB |
| 您希望您的服務閘道在哪個 http 連接埠上監聽? | 路由引擎面向公眾的 HTTP 連接埠。 | 80 |
| 您希望您的服務閘道在哪個 https 連接埠上監聽? | 路由引擎面向公眾的 HTTPS 連接埠。 | 443 |
| Blocklet Server 的最大記憶體限制是多少(GB)? | 分配給 Blocklet Server 常駐程式的最大 RAM。 | 4 GB |
| 每個 Blocklet 的最大記憶體限制是多少(GB)? | 分配給每個單獨 blocklet 的最大 RAM。 | 1 GB |
命令選項
可以使用以下命令列選項自訂或自動化初始化過程。
| 選項 | 說明 |
|---|---|
-y, --yes | 以非互動方式初始化伺服器,接受所有預設值。這對於自動化腳本很有用。 |
--force | -y 和 --yes 的別名。 |
--mode <mode> | 設定伺服器的運作模式。有效選項為 production(預設)和 debug。 |
--no-https | 停用伺服器的 HTTPS 支援。預設啟用 HTTPS。 |
--http-port <port> | 指定服務閘道面向公眾的 HTTP 連接埠,覆寫互動式提示。 |
--https-port <port> | 指定服務閘道面向公眾的 HTTPS 連接埠,覆寫互動式提示。 |
--sk <secret_key> | 提供自訂私鑰以產生伺服器的錢包,而不是建立一個新的隨機錢包。 |
--interactive | 強制命令在互動模式下執行,即使存在其他非互動式旗標。 |
非互動式範例
要無提示初始化伺服器,請使用 -y 旗標。此命令非常適合腳本編寫和自動化。
非互動式初始化
blocklet server init -y --mode production --http-port 8080產生的檔案
成功初始化後,會在目前工作目錄中建立以下檔案和目錄:
.blocklet-server/: Blocklet Server 執行個體的主要設定目錄。.blocklet-server/config.yml: YAML 格式的主要設定檔。它儲存了設定期間提供的所有設定,例如伺服器名稱、連接埠、路由資訊和錢包詳細資訊。.blocklet-server/.sock: 一個包含加密金鑰的檔案,用於保護config.yml中伺服器錢包的私鑰。此檔案對於錢包恢復至關重要,必須安全備份。
後續步驟
伺服器設定就緒後,下一步是啟動伺服器。請前往下一節,了解如何啟動 Blocklet Server 常駐程式。