Skip to content

快速开始

目标:用最少步骤把任意一个前端/后端项目部署到本地或内网的 Kite 服务。

1. 安装 CLI

Kite 把 Web 管理端、Server 后端和上传/部署执行都打包在一个 CLI 里,安装一次即可:

bash
npm install -g @kitecd/cli
# 或使用 bun
bun add -g @kitecd/cli

要求 Node.js v18+(或 Bun)。后续所有命令都来自 @kitecd/cli

2. 启动内置服务

kite serve 会同时拉起 Web 管理端、Server 后端、并把数据持久化到 ~/.kite/。首次启动会打印 Admin Token,复制它用于登录 Web 管理端。

页面样子 ↓

本地 / 测试环境

只在本机跑一下、验证一下部署链路,直接前台启动即可,不用 pm2:

bash
kite serve
# 默认监听 http://127.0.0.1:5431,Ctrl+C 结束

线上 / 服务器部署

服务器长期运行推荐:监听 127.0.0.1 + pm2 守护 + Nginx 反代。默认挂在域名根路径下,简单直接:

bash
# 1. 全局装 pm2(首次)
npm install -g pm2

# 2. 用 pm2 守护
kite serve --pm2 --host 127.0.0.1 --port 5431

Nginx 里只需要一段 location /,同时代理页面、API、终端 WebSocket 与 CLI 的 NDJSON 流式部署响应:

Nginx 反代示例(点击展开)
nginx
server {
    listen 443 ssl;
    server_name ops.example.com;

    # ...ssl_certificate 等常规配置...

    # 大 zip 包上传不被 413 卡住
    client_max_body_size 1024m;

    location / {
        proxy_pass         http://127.0.0.1:5431;
        proxy_http_version 1.1;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;

        # 让同一个 location 也能代理终端 WebSocket
        proxy_set_header   Upgrade    $http_upgrade;
        proxy_set_header   Connection "upgrade";

        # ★ 关键三件套:修复 `kite push` 报 `fetch failed`
        # NDJSON 流式响应必须实时透传,大 zip 请求体也直接透传
        proxy_buffering         off;
        proxy_request_buffering off;
        proxy_cache             off;

        # 超时放宽,兼顾 pre/postDeploy 长任务与 WebSocket 长连
        proxy_connect_timeout   60s;
        proxy_send_timeout      1800s;
        proxy_read_timeout      1800s;
        send_timeout            1800s;
    }
}

访问 https://ops.example.com/ 即可打开管理端。

需要挂到存量站点的子路径下(--base,可选)

如果 ops.example.com 已经跑着别的服务,想把 Kite 挂在 https://ops.example.com/kite/ 这种子路径下,可以给 kite serve--base,页面、API、WebSocket 会全部带上同一个前缀,Nginx 里也只用一段 location

bash
kite serve --pm2 --host 127.0.0.1 --port 5431 --base kite
Nginx 子路径反代示例
nginx
# server {} 内
client_max_body_size 1024m;

location /kite/ {
    proxy_pass         http://127.0.0.1:5431;
    proxy_http_version 1.1;
    proxy_set_header   Host              $host;
    proxy_set_header   X-Real-IP         $remote_addr;
    proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;

    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";

    # ★ 关键三件套:与根路径版本保持一致
    proxy_buffering         off;
    proxy_request_buffering off;
    proxy_cache             off;

    proxy_connect_timeout   60s;
    proxy_send_timeout      1800s;
    proxy_read_timeout      1800s;
    send_timeout            1800s;
}

访问 https://ops.example.com/kite/。项目详情页显示的 kite init / kite push 命令会自动带上 --server https://ops.example.com/kite,复制即用。

--base 取值规则:CLI 会做规范化——去掉首尾的 /,前面统一补一个 /。所以下面这些写法结果相同:

传入值规范化后(KITE_BASE)
(不传) / "" / / / .""(不启用子路径)
base / /base / /base//base
base/asd / /base/asd//base/asd

未带前缀的路径(例如直连 http://server:5431//api/*)会直接返回 404,避免绕过 Nginx。非法值(含空格、中文、// 空段、.. 段落等)在 kite serve 启动时会直接报错退出。

  • pm2 / Nginx 更多细节见 CLI 文档
  • 不启用 pm2 的话,可以用 nohup kite serve ... & 或 systemd 等自选方案。
  • 如果 kite push 出现 Upload failed: fetch failed(服务端却部署成功),多半是反代把 NDJSON 流式响应缓冲了,参见 部署流程 · 反向代理(Nginx)配置建议

3. 在 Web 管理端创建项目

打开管理端并用启动时打印的 Admin Token 登录:

  • 本地http://127.0.0.1:5431
  • 线上:按实际域名访问,例如 https://ops.example.com/(挂子路径时为 https://ops.example.com/kite/

在「项目管理 → 新建项目」中填写 项目名称部署目录(服务器上的绝对路径)

创建

支持输入创建,或者批量的选择存量目录创建

项目详情

4. 初始化并部署

项目详情页会根据当前访问地址实时生成 kite init / kite push 命令

kite push 会读取 kite.config.json + .env.local + 全局配置,打包 outputDir

上传后依次执行 preDeploy → 解压 → postDeploy,日志会实时回显并落到 Web 端「部署日志」页。

默认解压行为

覆盖模式: 同名文件会被新包覆盖,但目标目录里已存在但新 zip 中没有的文件不会被删除

也可按需选择 其它清理模式

可以使用清理预览功能,来判断参与清理的文件和目录。

需要上传 . 开头的文件?请关闭内置忽略

kite push / kite pack 默认启用内置忽略规则,会跳过 .git/**.env*.vscode/**.DS_Store 等一系列点前缀文件与目录。如果你确实需要把这些点前缀文件(例如 .env.production.nuxt/ 里的产物)打进部署包,需要显式关闭内置忽略:

  • kite.config.json 中添加:
    json
    {
      "ignoreBuiltin": true
    }
  • 或在命令行使用 --no-ignore-builtin
    bash
    kite push --no-ignore-builtin

关闭后仅剩你在 ignore 字段里自定义的规则生效,请自行确保 .git、密钥文件等不会被误传。详见 CLI · 配置项说明

5. 数据目录

CLI 与 Server 的所有状态都保存在 ~/.kite升级 CLI 不会覆盖

txt
~/.kite/
  config.json        # CLI 全局配置(serverUrl、token 等)
  kite.db            # Server 侧项目/日志/设置(libSQL 单文件)
  deployments/       # 默认部署根目录
  tmp/               # 上传、解压临时文件
  pm2/               # pm2 守护模式下的配置和日志

可以通过环境变量 KITE_HOME 自定义数据目录:

bash
KITE_HOME=/data/kite kite serve

更多命令与参数详见 CLI 文档,部署链路细节见 部署流程