存储与文件服务配置
主要文件
这部分配置通常涉及:
mongo.db.confdomains.mongo.db.confserver.conf
MongoDB 核心存储
mongo.db.conf 用于配置应用核心数据库的连接参数,常见内容包括:
- 主机地址
- 端口
- 数据库名
- 认证库
- 用户名与口令
- 是否自动建索引
- 是否启用事务
- 副本集名称
对 Galaxy 应用而言,这是最基础、最关键的存储配置之一。
多域名存储
如果应用采用按域名分库的方式,则需要额外维护 domains.mongo.db.conf。
这一层配置解决的是:
- 默认域名使用哪个数据库
- 某个具体域名使用哪个数据库
- 各域名数据库是否启用事务与副本集
RocksDB 内嵌 KV 存储
典型形式是:
galaxyplatform.kvs.repos.appdb.uri=rockskv:/appdb
配置的含义是:
- 声明一个名为
appdb的 KV 仓库 - 使用
rockskv:/...作为 RocksDB 类型的存储 URI - 将该仓库对应的根存储对象注册到应用上下文中
文件服务
文件服务相关配置通常位于 server.conf,重点包括:
galaxyplatform.ffs.storage.root- 文件 ID 是否包含扩展名
- 缩略图尺寸
- 文件服务匿名访问 URL
- 文件服务 CORS 放行规则
文件服务的配置既涉及“物理存储目录”,也同时会涉及 Web 匿名访问、跨域访问规则。
可复制模板
mongo.db.conf 模板
#######################################
# MongoDB 数据库
#######################################
#-------------------------------------------------
# 应用核心库 MongoDB 的连接配置;
#-------------------------------------------------
# spring.data.mongodb.auto-index-creation=true
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.database=dataDB
spring.data.mongodb.authenticationDatabase=authDB
spring.data.mongodb.username=usernameOfDb
spring.data.mongodb.password=passwordOfDb
# 是否开启事务;默认为 false ;
# spring.data.mongodb.enable-transaction=true
# 复制集名称;MongoDB 服务器需要以复制集模式运行才能支持事务;
# spring.data.mongodb.replica-set-name=rs0
domains.mongo.db.conf 模板
#######################################
# 设置按“域名”隔离的 MongoDB 数据库
#######################################
# 是否启用按“域名”进行数据库级别的隔离机制;
# 默认为 false;
application.data.mongodb.domains-enable=true
# --------------------------------
# 配置采用默认数据库的“域”;
#
# “默认数据库”是指通过 spring.data.mongodb 标准配置项设置的数据库;
#
# 可以设定通配符;例如: *.linkgie.com
# --------------------------------
application.data.mongodb.default-domains=localhost,127.0.0.1,app.example.com
# --------------------------------
# 在支持按“域名”进行数据库级别隔离的情况下,当上下文未定义域名时,是否以默认域来处理;
# 默认为 true;
# application.data.mongodb.use-default-on-empty=true
# --------------------------------
# ---------------------------------------------------------
# ----- 示例:为域名 shop.example.com 设置独立的数据库 -------
# ---------------------------------------------------------
application.data.mongodb.domains[shop.example.com].host=127.0.0.1
application.data.mongodb.domains[shop.example.com].port=27017
application.data.mongodb.domains[shop.example.com].database=shopdb
application.data.mongodb.domains[shop.example.com].authentication-database=shopdb
application.data.mongodb.domains[shop.example.com].username=shopUser
application.data.mongodb.domains[shop.example.com].password=changeMe
# 自动创建索引;
application.data.mongodb.domains[shop.example.com].auto-index-creation=true
# 是否启用事务;
application.data.mongodb.domains[shop.example.com].enable-transaction=true
# 复制集名称;
# MongoDB 服务器需要以复制集模式运行才能支持事务;
application.data.mongodb.domains[shop.example.com].replica-set-name=rs0
server.conf 中的 RocksDB 与文件服务模板
#######################################
# 基于 RocksDB 的嵌入式 KV 数据库
#######################################
# 声明一个 rockskv 仓库 appdb ;
# 并以 appdb 为名注册该仓库的根存储对象 KVStorage 为 Bean;
#galaxyplatform.kvs.repos.appdb.uri=rockskv:/appdb
#######################################
# 轻量文件存储服务
#######################################
# 文件id是否包含扩展名;默认为 true ;
# 文件访问的 URL 以 id 结尾,id 包含扩展名能够使得整个 URL
# 能够被 nginx 等web服务器识别为静态资源而有效进行缓存;
#
# galaxyplatform.ffs.id.include-ext=true
# 图片缩略图的最大尺寸,单位:像素;
# galaxyplatform.ffs.thumbnail.max-width=90
# galaxyplatform.ffs.thumbnail.max-height=90
# 存储根目录;
# 未设置时,会将根目录定位于 HOME/.ffs
# galaxyplatform.ffs.storage.root=
# 设置跨源资源共享(CORS: Cross Origin Resource Share);
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].headers=*
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].methods=*
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].origins=http://site1-host:8081, https://site2-host:8082
相关AI skills
galaxy-app-config-storagegalaxy-app-config-file-service




