部署指南
单体模式部署
打包
bash
# 打包单体应用
mvn clean package -pl molandev-standalone-service -am -DskipTests -f backend/pom.xml
# 生成的 JAR: backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar运行
bash
# MySQL 模式(默认)
java -jar backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar
# PostgreSQL 模式
java -jar backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar --spring.profiles.active=pgDocker 部署
bash
# 构建镜像
docker build -t molandev/molandev-standalone:latest backend/molandev-standalone-service/
# 使用 docker compose 启动(含 PostgreSQL、Redis、Caddy)
cd backend/deploy/standalone
docker compose up -d微服务模式部署
构建 Docker 镜像
bash
# 一次构建全部模块
mvn clean package -Pmicroservice -DskipTests -f backend/pom.xml
# 构建各服务镜像
docker build -t molandev/molandev-gateway:latest backend/molandev-gateway/
docker build -t molandev/molandev-base:latest backend/molandev-base/
docker build -t molandev/molandev-knowledge:latest backend/molandev-knowledge/
docker build -t molandev/molandev-xiuxian:latest backend/molandev-xiuxian/启动基础设施
bash
cd backend/deploy/docker
./manage.sh start-mw需要:MySQL、Redis、Nacos、MinIO、Elasticsearch、Milvus、RabbitMQ。
导入 Nacos 配置
Nacos 使用 MySQL 存储配置,直接导入 SQL 即可,无需手动在控制台操作:
bash
mysql -u root -p123456 nacos < deploy/sql/mysql/05_molandev_nacos.sql导入后 Nacos 中会自动出现 molandev_cloud 命名空间及各服务的配置文件。
启动微服务
bash
# 创建部署目录
mkdir -p /home/cloud-deploy
cp backend/deploy/cloud/docker-compose.yml /home/cloud-deploy/
# 配置环境变量
cat > /home/cloud-deploy/.env << 'EOF'
DASHSCOPE_API_KEY=<your-api-key>
EOF
# 启动
cd /home/cloud-deploy && docker compose up -d服务列表
| 服务 | 容器名 | 端口 | mem_limit |
|---|---|---|---|
| Gateway | molandev-gateway | 9090 | 512m |
| Base | molandev-base | 19091 | 512m |
| Knowledge | molandev-knowledge | 19092 | 1g |
| Xiuxian | molandev-xiuxian | 19093 | 512m |
JVM 内存管理
使用 MaxRAMPercentage 按 Docker mem_limit 自动分配堆,无需固定 -Xmx:
dockerfile
ENTRYPOINT ["java", "-XX:InitialRAMPercentage=25.0", "-XX:MaxRAMPercentage=75.0", ...]日志
Docker 环境关闭 console 输出(-Dlogging.pattern.console=),日志仅写文件,通过 volume 映射到宿主机 ./logs/<service>/。
数据库初始化
PostgreSQL
bash
psql -U postgres -f backend/deploy/sql/postgres/01_schema.sql
psql -U postgres -d molandev_base -f backend/deploy/sql/postgres/02_molandev_base.sql
psql -U postgres -d molandev_kl -f backend/deploy/sql/postgres/03_molandev_kl.sql
psql -U postgres -d molandev_xiuxian -f backend/deploy/sql/postgres/04_molandev_xiuxian.sqlMySQL
bash
mysql -u root -p123456 < backend/deploy/sql/mysql/01_schema.sql
mysql -u root -p123456 molandev_base < backend/deploy/sql/mysql/02_molandev_base.sql
mysql -u root -p123456 molandev_kl < backend/deploy/sql/mysql/03_molandev_kl.sql
mysql -u root -p123456 molandev_xiuxian < backend/deploy/sql/mysql/04_molandev_xiuxian.sql
mysql -u root -p123456 nacos < backend/deploy/sql/mysql/05_molandev_nacos.sql| 数据库 | 用途 |
|---|---|
molandev_base | RBAC 权限、文件、消息、任务 |
molandev_kl | RAG 知识库 |
molandev_xiuxian | AI Agent 示例 |
nacos | Nacos 配置中心数据(含 molandev_cloud 命名空间) |