跳转到内容

配置与启动

独立应用从自己的 server 目录启动。.env、日志和存储目录都归应用维护;核心包提供默认配置与平台能力。

从同一版本的 .env.example 开始,按本机环境修改以下配置:

配置用途
APP_NAMEAPP_ENVAPP_DEBUG应用名称、环境与调试开关
APP_HOSTAPP_PORT后端监听地址,模板端口为 3000
APP_KEYJWT_SECRET应用加密与 JWT 密钥,由 Artisan 命令生成
DB_*PostgreSQL 连接
REDIS_*Redis 连接与数据库编号
AGENT_WORKER_ENABLEDAgent 队列与恢复清扫开关
WORKFLOW_WORKER_ENABLED审批持久任务执行开关
WORKFLOW_OUTBOX_ENABLED审批通知 Outbox 接收开关
FILES_PRIVATE_ROOT私有文件存储根,详见文件中心

配置样例中的本地数据库账号仅供开发。真实连接和密钥保存在运行环境中,不写进 Git。

入口调用:

bootstrap.Boot(application.Options()).Start()

bootstrap.OptionsConfigure 在核心默认配置之后、provider、路由及 worker 构造之前执行在核心默认配置之后执行,先于 provider、路由及 worker 的构造。应用需要覆盖默认配置时在这里完成,不在业务请求中反复修改全局配置。

装配会检查迁移签名、路由和扩展声明冲突。错误会阻止服务开放端口,先修复应先修复启动日志中的声明问题。

首次安装需要生成密钥、迁移并运行种子;日常启动保留已有密钥和数据,只运行应用。新增表或升级依赖时执行前向迁移。

终端窗口
# 应用 server/
go run . artisan migrate
go run .

前端开发代理在 web/config/proxy.ts 配置,只作用于开发服务器。构建后的前端由部署环境将 /api 转发到后端。

主进程负责平台注册的队列与定时任务。Agent、审批任务及审批 Outbox 有独立开关;关闭 Outbox 不会完成或取消审批任务,关闭 worker 也不等于取消实例。

排查后台工作时分别确认开关、Redis、数据库和日志。modu doctor 的静态检查不代表检查结果不代表这些运行依赖已经连通。