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 守护进程。