跳到主要内容

启动服务器

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 启动核心后台进程:主守护进程(处理 Web 请求和路由)、Blocklet 服务(管理 blocklet 的生命周期和服务)以及事件中心(促进进程间通信)。

  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。了解如何检查状态停止服务器