多应用
多应用管理器(已废弃)社区版+
介绍
多应用插件(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左右。