logologo
开始
教程
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
开始
教程
手册
开发
插件
API
首页
logologo
多空间
Next Page多空间

#多应用

多应用管理器(已废弃)社区版+

#介绍

多应用插件(Multi-App) 允许动态创建和管理多个独立应用,而无需单独部署。每个子应用都是完全独立的实例,拥有自己的数据库、插件和配置。

#适用场景

  • 多租户:提供独立的应用实例,每个客户拥有自己的数据、插件配置和权限体系。
  • 不同业务域的主子系统:一个大型系统由多个独立部署的小型应用组成
WARNING

多应用插件本身不提供用户共享能力。
如需多应用间的用户打通,可结合 认证插件 使用。

#安装

在插件管理中找到 多应用(Multi-app) 插件并启用。

#使用手册

#子应用创建

在系统设置菜单中点击「多应用」,进入多应用管理页面:

点击「新增」按钮,创建一个新的子应用:

#表单字段说明

  • 名称:子应用标识,全局唯一
  • 显示名称:子应用在界面中显示的名称
  • 启动方式:
    • 首次访问时启动:当用户首次通过 URL 访问该子应用时才启动;
    • 随主应用一同启动:在主应用启动时同时启动子应用(会增加主应用启动时间)。
  • 端口:子应用运行时使用的端口号
  • 自定义域名:为子应用配置独立的子域名
  • 固定到菜单:将子应用入口固定显示在顶部导航栏左侧
  • 数据库连接:用于配置子应用的数据源,支持以下三种方式:
    • 新数据库:复用当前数据服务,创建独立数据库;
    • 新的数据连接:配置全新的数据库服务;
    • Schema 模式:在 PostgreSQL 中为子应用创建独立的 Schema。
  • 升级:若连接的数据库中存在旧版本的 NocoBase 数据结构,将自动升级到当前版本。

#子应用运行与停止

点击 启动 按钮可启动子应用;

如果在创建时勾选了 “首次访问时启动”,则首次访问时会自动启动。

点击 查看 按钮,会在新标签页中打开该子应用。

#子应用运行状态与日志

在列表中可以查看每个应用占用的内存和CPU

点击 日志 按钮,可查看子应用的运行日志。

若子应用启动后无法访问(如数据库损坏等情况),可通过日志进行排查。

#子应用删除

点击 删除 按钮可移除子应用。

删除时可选择是否一并删除数据库,请谨慎操作,该操作不可恢复。

#子应用访问

默认使用 /_app/:appName/admin/ 访问子应用,例如

http://localhost:13000/_app/a_7zkxoarusnx/admin/

同时,也可以为子应用配置独立的子域名,需要将域名解析到当前 ip,如果使用了 nginx,也需要在 nginx 配置里添加域名。

#命令行管理子应用

在项目根目录下,可以使用命令行通过 PM2 管理子应用实例:

yarn nocobase pm2 list              # 查看当前运行实例列表
yarn nocobase pm2 stop [appname]    # 停止某个子应用进程
yarn nocobase pm2 delete [appname]  # 删除某个子应用进程
yarn nocobase pm2 kill              # 强制终止所有启动的进程(可能包含主应用的实例)

#老多应用数据迁移

进入到老的多应用管理页面,点击 迁移数据至新多应用 按钮进行数据迁移

#常见问题

#1. 插件管理

子应用可以使用的插件和主应用一致(包括版本),但是可以独立配置和使用插件

#2. 数据库隔离

子应用可以配置独立的数据库,如果想应用之间进行数据共享,可通过外部数据源实现

#3. 数据备份和迁移

目前在主应用上数据备份不支持包含子应用的数据(只包含子应用基本信息),需手动在子应用内备份和迁移

#4. 部署与更新

子应用的版本将自动跟随主应用进行升级,自动保证主子应用版本一致

#5. 资源管理

每个子应用的资源占用和主应用基本一致,目前单个应用内存占用在500-600MB左右。