统一配置管理实施总结
✅ 完成内容
1. 配置管理组件(Python)
创建了三个新服务的配置管理组件,实现统一的部署和配置管理:
✅ sbin/husky/components/husky_afterservice.py
- 售后服务配置管理
- 数据库自动初始化(从
etc/install-scripts/aftersales/读取SQL文件) - 配置文件模板替换
- Systemd服务注册
✅ sbin/husky/components/mindoc.py
- MindDoc文档系统配置管理
- 数据库初始化
- 配置文件生成(app.conf)
- 目录结构创建
✅ sbin/husky/components/kkfileview.py
- kkFileView文件预览服务配置管理
- 配置文件生成(application.properties)
- 缓存目录管理
- 无需数据库初始化
2. 主配置文件更新
✅ etc/config_default.xml
新增三个服务的配置段:
<!-- 售后服务系统 -->
<husky_afterservice>
<servers>aimaster</servers>
<servers_enable>1</servers_enable>
<port>8081</port>
<ram>256M</ram>
<fileMaxSize>128MB</fileMaxSize>
<mysqlDataBase>husky_afterservice_db</mysqlDataBase>
<mysqlUser>husky</mysqlUser>
<mysqlPassword>Husky@123</mysqlPassword>
</husky_afterservice>
<!-- MindDoc文档系统 -->
<mindoc>
<servers>aimaster</servers>
<servers_enable>1</servers_enable>
<port>8082</port>
<mysqlDataBase>mindoc_db</mysqlDataBase>
<mysqlUser>husky</mysqlUser>
<mysqlPassword>Husky@123</mysqlPassword>
</mindoc>
<!-- kkFileView文件预览服务 -->
<kkfileview>
<servers>aimaster</servers>
<servers_enable>1</servers_enable>
<port>8083</port>
<ram>256M</ram>
</kkfileview>
3. 配置模板文件
✅ 售后服务配置模板
apps/husky_afterservice/config/application-default.ymlapps/husky_afterservice/config/application-druid-default.ymlapps/husky_afterservice/config/logback-default.xmlapps/husky_afterservice/husky_afterservice-default.sh
模板变量:
#VERSION#- 版本号#PORT#- 端口(8081)#FILE_LOCATION#- 文件上传路径#fileMaxSize#- 文件大小限制#REDIS_SERVER#,#REDIS_PORT#,#REDIS_PASSWD#- Redis配置#mysqlServer#,#mysqlDataBase#,#mysqlUser#,#mysqlPassword#- 数据库配置
✅ MindDoc配置模板
apps/mindoc/conf/app-default.confapps/mindoc/mindoc-default.sh
模板变量:
#appname#- 应用名称#httpport#- 端口(8082)#runmode#- 运行模式(prod)#db_adapter#- 数据库类型(mysql)#db_host#- 数据库地址#db_database#,#db_username#,#db_password#- 数据库配置#uploads_path#- 上传路径#database_path#- 数据路径
✅ kkFileView配置模板
apps/kkfileview/config/application-default.propertiesapps/kkfileview/kkfileview-default.sh
模板变量:
#server.port#- 端口(8083)#file.dir#- 文件目录#cache.enabled#- 缓存开关#cache.type#- 缓存类型
4. 部署脚本更新
✅ sbin/deploy.py
新增服务别名支持:
elif moduleName == 'afterservice' or moduleName == 'as':
modules_alias_name = 'husky_afterservice'
elif moduleName == 'mindoc' or moduleName == 'md':
modules_alias_name = 'mindoc'
elif moduleName == 'kkfileview' or moduleName == 'kk':
modules_alias_name = 'kkfileview'
更新帮助信息,显示所有可用服务。
5. 文档
✅ docs/配置管理使用手册.md
包含内容:
- 配置架构说明
- 主配置文件详解
- 部署命令大全
- 配置文件模板说明
- 配置更新流程
- 目录结构说明
- 故障排查指南
- 最佳实践
- 安全建议
📊 服务端口分配
| 服务 | 端口 | 内存 | 数据库 |
|---|---|---|---|
| husky_wms | 8080 | 128M | husky_wms_db |
| husky_afterservice | 8081 | 256M | husky_afterservice_db |
| mindoc | 8082 | - | mindoc_db |
| kkfileview | 8083 | 256M | - |
总内存占用: ~640M(适合2C2G服务器)
🚀 使用方法
基础服务部署
# 1. 部署MySQL
python sbin/deploy.py mysql install
python sbin/deploy.py mysql start
# 2. 部署Redis
python sbin/deploy.py redis install
python sbin/deploy.py redis start
业务服务部署
# 3. 部署WMS
python sbin/deploy.py wms install
python sbin/deploy.py wms start
# 4. 部署售后服务
python sbin/deploy.py afterservice install
python sbin/deploy.py afterservice start
# 5. 部署MindDoc
python sbin/deploy.py mindoc install
python sbin/deploy.py mindoc start
# 6. 部署kkFileView
python sbin/deploy.py kkfileview install
python sbin/deploy.py kkfileview start
使用简写
python sbin/deploy.py as install # afterservice
python sbin/deploy.py md install # mindoc
python sbin/deploy.py kk install # kkfileview
🔧 配置管理流程
初始化配置
- 编辑
etc/config_default.xml - 修改服务器地址、端口、密码等参数
- 执行部署命令
修改配置
- 编辑
etc/config_default.xml - 重新生成配置:
python sbin/deploy.py <service> config_package - 重启服务:
python sbin/deploy.py <service> restart
配置文件生成过程
etc/config_default.xml
↓ (Python读取配置)
sbin/husky/components/<service>.py
↓ (替换模板变量)
apps/<service>/config/*-default.*
↓ (生成最终配置)
apps/<service>/config/*📁 目录结构
huskyapp/
├── etc/
│ ├── config_default.xml # 主配置文件
│ ├── systemd/ # Systemd服务文件
│ │ ├── husky-wms.service
│ │ ├── husky-afterservice.service
│ │ ├── mindoc.service
│ │ └── kkfileview.service
│ └── install-scripts/ # 数据库初始化SQL
│ ├── husky_wms/
│ └── aftersales/
├── sbin/
│ ├── deploy.py # 部署脚本入口
│ ├── service_manager.sh # 服务管理脚本
│ └── husky/
│ └── components/ # 配置管理组件
│ ├── husky_wms.py
│ ├── husky_afterservice.py
│ ├── mindoc.py
│ └── kkfileview.py
└── apps/
├── husky_wms/
│ ├── config/ # 配置文件
│ └── husky_wms.sh # 启动脚本
├── husky_afterservice/
│ ├── config/
│ └── husky_afterservice.sh
├── mindoc/
│ ├── conf/
│ └── mindoc.sh
└── kkfileview/
├── config/
└── kkfileview.sh🔍 配置参数说明
通用配置
servers- 服务器主机名servers_enable- 是否启用(1=启用,2=禁用)port- 服务端口ram- JVM内存大小(Java服务)
数据库配置
mysqlDataBase- 数据库名mysqlUser- 数据库用户mysqlPassword- 数据库密码
应用特定配置
fileMaxSize- 文件上传大小限制(WMS、售后服务)- 无特殊配置(MindDoc、kkFileView使用默认值)
🎯 特性优势
1. 统一配置管理
- 所有服务配置集中在
config_default.xml - 一次配置,自动应用到所有服务
- 便于版本控制和备份
2. 自动化部署
- 一条命令完成安装、配置、启动
- 自动创建目录结构
- 自动初始化数据库
- 自动注册系统服务
3. 模板化配置
- 配置文件模板化,支持变量替换
- 易于扩展新服务
- 配置修改后自动生成
4. 环境隔离
- 支持多环境配置(开发、测试、生产)
- 配置文件独立管理
- 数据目录分离
📝 注意事项
1. 端口冲突
确保端口未被占用:
netstat -tlnp | grep -E "8080|8081|8082|8083"
2. 数据库权限
确保MySQL用户有足够权限:
GRANT ALL PRIVILEGES ON husky_afterservice_db.* TO 'husky'@'localhost';
GRANT ALL PRIVILEGES ON mindoc_db.* TO 'husky'@'localhost';
FLUSH PRIVILEGES;
3. 文件权限
确保启动脚本有执行权限:
chmod +x apps/*/husky_*.sh
chmod +x apps/*/mindoc.sh
chmod +x apps/*/kkfileview.sh
4. 配置备份
重要配置文件建议备份:
cp etc/config_default.xml etc/config_default.xml.bak
🔐 安全建议
修改默认密码
- MySQL root密码
- Redis密码
- 应用数据库用户密码
限制文件权限
chmod 600 etc/config_default.xml不要提交密码到Git
# .gitignore etc/config.xml
📞 故障排查
配置未生效
# 查看配置文件
cat apps/husky_afterservice/config/application.yml
# 重新生成配置
python sbin/deploy.py afterservice config_package
服务启动失败
# 查看日志
tail -f apps/husky_afterservice/nohup.log
# 检查配置
python sbin/deploy.py afterservice check
数据库连接失败
# 测试连接
mysql -u husky -p -e "USE husky_afterservice_db;"
# 重新初始化
python sbin/deploy.py afterservice install_package
📚 相关文档
✨ 后续优化建议
配置加密
- 敏感信息加密存储
- 使用环境变量
配置验证
- 部署前配置验证
- 参数合法性检查
日志管理
- 统一日志格式
- 日志轮转策略
监控告警
- 服务健康检查
- 资源使用监控
容器化部署
- Docker镜像
- Docker Compose编排
🎉 总结
通过本次统一配置管理实施:
✅ 实现了三个新服务(售后服务、MindDoc、kkFileView)的统一配置管理
✅ 创建了完整的配置模板和部署脚本
✅ 提供了详细的使用文档和故障排查指南
✅ 优化了部署流程,支持一键部署
✅ 确保了配置的一致性和可维护性
现在可以通过简单的命令完成所有服务的部署和配置管理!
作者:聂盼盼 创建时间:2025-10-28 19:52
最后编辑:聂盼盼 更新时间:2025-10-28 19:53
最后编辑:聂盼盼 更新时间:2025-10-28 19:53