配置管理使用手册
📋 概述
本手册介绍 Husky 系统的统一配置管理机制,包括初始化配置、服务部署、数据库初始化等操作。
🎯 配置架构
配置文件层次结构
huskyapp/
├── etc/
│ └── config_default.xml # 主配置文件(所有服务的配置中心)
├── sbin/
│ ├── deploy.py # 部署脚本入口
│ └── husky/
│ └── components/ # 组件配置管理模块
│ ├── husky_wms.py # WMS配置管理
│ ├── husky_afterservice.py # 售后服务配置管理
│ ├── mindoc.py # MindDoc配置管理
│ ├── kkfileview.py # kkFileView配置管理
│ ├── mysql.py # MySQL配置管理
│ ├── redis.py # Redis配置管理
│ └── nginx.py # Nginx配置管理
└── apps/
├── husky_wms/config/ # WMS配置文件目录
├── husky_afterservice/config/ # 售后服务配置文件目录
├── mindoc/conf/ # MindDoc配置文件目录
└── kkfileview/config/ # kkFileView配置文件目录📝 主配置文件说明
etc/config_default.xml
这是系统的核心配置文件,包含所有服务的配置参数。
基础配置
<hbds>
<!-- 部署用户配置 -->
<userName>husky</userName>
<userPassword>husky</userPassword>
<remotePath>/home/husky</remotePath>
<hosts>
<!-- 服务器IP和主机名映射 -->
<nameService>127.0.0.1,aimaster</nameService>
</hosts>
</hbds>
MySQL配置
<mysql>
<servers>aimaster</servers>
<servers_enable>1</servers_enable>
<port>3306</port>
<rootPassword>Husky@123</rootPassword>
</mysql>
Redis配置
<redis>
<servers>aimaster</servers>
<port>6379</port>
<servers_enable>1</servers_enable>
<password>Husky@123</password>
</redis>
WMS服务配置
<husky_wms>
<servers>aimaster</servers>
<servers_enable>1</servers_enable>
<port>8080</port>
<ram>128M</ram>
<fileMaxSize>128MB</fileMaxSize>
<mysqlDataBase>husky_wms_db</mysqlDataBase>
<mysqlUser>husky</mysqlUser>
<mysqlPassword>Husky@123</mysqlPassword>
</husky_wms>
售后服务配置
<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>
🚀 部署命令
基本命令格式
python sbin/deploy.py <service> <command>
服务列表
| 服务名 | 别名 | 说明 |
|---|---|---|
| husky_wms | wms | WMS仓储管理系统 |
| husky_afterservice | afterservice, as | 售后服务系统 |
| mindoc | md | MindDoc文档系统 |
| kkfileview | kk | kkFileView文件预览服务 |
| mysql | - | MySQL数据库 |
| redis | - | Redis缓存 |
| nginx | - | Nginx反向代理 |
命令列表
| 命令 | 说明 |
|---|---|
| install | 完整安装(包含pre_install + install_package + config_package + post_install) |
| pre_install | 预安装(创建目录、设置权限) |
| install_package | 安装包(初始化数据库、导入数据) |
| config_package | 配置(生成配置文件) |
| post_install | 后安装(注册systemd服务) |
| start | 启动服务 |
| stop | 停止服务 |
| check | 检查服务状态 |
| help | 显示帮助信息 |
📖 使用示例
1. 初始化MySQL数据库
# 安装并启动MySQL
python sbin/deploy.py mysql install
python sbin/deploy.py mysql start
2. 初始化Redis
# 安装并启动Redis
python sbin/deploy.py redis install
python sbin/deploy.py redis start
3. 部署WMS服务
# 完整安装WMS(会自动创建数据库、导入SQL、生成配置文件)
python sbin/deploy.py wms install
# 或者分步执行
python sbin/deploy.py wms pre_install # 创建目录
python sbin/deploy.py wms install_package # 初始化数据库
python sbin/deploy.py wms config_package # 生成配置文件
python sbin/deploy.py wms post_install # 注册服务并启动
# 启动服务
python sbin/deploy.py wms start
# 检查状态
python sbin/deploy.py wms check
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
7. 使用简写命令
# 使用别名
python sbin/deploy.py as install # afterservice
python sbin/deploy.py md install # mindoc
python sbin/deploy.py kk install # kkfileview
🔧 配置文件模板说明
WMS/售后服务配置模板
application-default.yml
模板变量:
#VERSION#- 系统版本号#PORT#- 服务端口号#FILE_LOCATION#- 文件上传路径#fileMaxSize#- 文件上传大小限制#REDIS_SERVER#- Redis服务器地址#REDIS_PORT#- Redis端口#REDIS_PASSWD#- Redis密码
application-druid-default.yml
模板变量:
#mysqlServer#- MySQL服务器地址#PORT#- MySQL端口#mysqlDataBase#- 数据库名#mysqlUser#- 数据库用户#mysqlPassword#- 数据库密码
MindDoc配置模板
app-default.conf
模板变量:
#appname#- 应用名称#httpport#- HTTP端口#runmode#- 运行模式(prod/dev)#db_adapter#- 数据库类型#db_host#- 数据库主机:端口#db_database#- 数据库名#db_username#- 数据库用户#db_password#- 数据库密码#uploads_path#- 上传文件路径#database_path#- 数据文件路径
kkFileView配置模板
application-default.properties
模板变量:
#server.port#- 服务端口#file.dir#- 文件存储目录#cache.enabled#- 是否启用缓存#cache.type#- 缓存类型
🔄 配置更新流程
修改配置参数
- 编辑
etc/config_default.xml - 修改对应服务的配置参数
- 重新执行配置命令
# 重新生成配置文件
python sbin/deploy.py wms config_package
# 重启服务
python sbin/deploy.py wms restart
修改端口号示例
# 1. 编辑配置文件
vim etc/config_default.xml
# 修改WMS端口
<husky_wms>
<port>8088</port> # 从8080改为8088
</husky_wms>
# 2. 重新配置
python sbin/deploy.py wms config_package
# 3. 重启服务
python sbin/deploy.py wms restart
📊 目录结构说明
服务目录结构
每个服务部署后会创建以下目录:
/home/husky/
├── apps/ # 应用程序目录
│ ├── husky_wms/
│ │ ├── husky_wms.jar # WMS程序包
│ │ ├── husky_wms.sh # 启动脚本
│ │ └── config/ # 配置文件目录
│ │ ├── application.yml
│ │ ├── application-druid.yml
│ │ └── logback.xml
│ ├── husky_afterservice/
│ ├── mindoc/
│ └── kkfileview/
├── bin/ # 符号链接目录
│ ├── husky_wms/
│ ├── husky_afterservice/
│ ├── mindoc/
│ └── kkfileview/
├── data/ # 数据目录
│ ├── husky_wms/
│ │ └── uploadPath/ # 文件上传目录
│ ├── husky_afterservice/
│ ├── mindoc/
│ │ ├── uploads/ # 文档上传目录
│ │ └── database/ # 数据库文件目录
│ └── kkfileview/
│ └── files/ # 预览文件缓存
├── logs/ # 日志目录
│ ├── husky_wms/
│ ├── husky_afterservice/
│ ├── mindoc/
│ └── kkfileview/
└── etc/ # 配置链接目录
├── husky_wms/
├── husky_afterservice/
├── mindoc/
└── kkfileview/🔍 故障排查
配置未生效
# 1. 检查配置文件是否生成
ls -l apps/husky_wms/config/
# 2. 查看配置文件内容,确认模板变量已替换
cat apps/husky_wms/config/application.yml | grep -E "#.*#"
# 3. 如果还有未替换的变量,重新执行配置
python sbin/deploy.py wms config_package
数据库连接失败
# 1. 检查MySQL是否运行
python sbin/deploy.py mysql check
# 2. 检查数据库是否创建
mysql -u root -p -e "SHOW DATABASES;"
# 3. 检查用户权限
mysql -u root -p -e "SELECT User, Host FROM mysql.user WHERE User='husky';"
# 4. 重新初始化数据库
python sbin/deploy.py wms install_package
服务无法启动
# 1. 检查配置文件是否正确
python sbin/deploy.py wms config_package
# 2. 查看启动日志
tail -f apps/husky_wms/nohup.log
# 3. 检查端口是否被占用
netstat -tlnp | grep 8080
# 4. 检查文件权限
ls -l apps/husky_wms/husky_wms.sh
chmod +x apps/husky_wms/husky_wms.sh
💡 最佳实践
1. 初始化顺序
推荐按以下顺序部署服务:
# 1. 基础服务
python sbin/deploy.py mysql install && python sbin/deploy.py mysql start
python sbin/deploy.py redis install && python sbin/deploy.py redis start
# 2. 业务服务
python sbin/deploy.py wms install && python sbin/deploy.py wms start
python sbin/deploy.py afterservice install && python sbin/deploy.py afterservice start
# 3. 辅助服务
python sbin/deploy.py mindoc install && python sbin/deploy.py mindoc start
python sbin/deploy.py kkfileview install && python sbin/deploy.py kkfileview start
# 4. Web服务
python sbin/deploy.py nginx install && python sbin/deploy.py nginx start
2. 配置备份
# 备份主配置文件
cp etc/config_default.xml etc/config_default.xml.bak
# 备份服务配置
tar czf config_backup_$(date +%Y%m%d).tar.gz \
apps/*/config/ \
apps/*/conf/
3. 配置版本管理
# 将配置文件纳入版本控制
git add etc/config_default.xml
git commit -m "Update configuration"
git push
4. 环境隔离
不同环境使用不同的配置文件:
# 开发环境
cp etc/config_default.xml etc/config_dev.xml
# 测试环境
cp etc/config_default.xml etc/config_test.xml
# 生产环境
cp etc/config_default.xml etc/config_prod.xml
🔐 安全建议
1. 密码管理
- 修改默认密码
- 使用强密码策略
- 定期更换密码
- 不要将密码提交到版本控制系统
2. 权限控制
# 设置配置文件权限
chmod 600 etc/config_default.xml
chmod 644 apps/*/config/*.yml
chmod 644 apps/*/config/*.properties
3. 数据库安全
# 修改MySQL root密码
mysql -u root -p -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';"
# 修改应用数据库用户密码
mysql -u root -p -e "ALTER USER 'husky'@'localhost' IDENTIFIED BY 'NewPassword';"
# 更新配置文件
vim etc/config_default.xml
python sbin/deploy.py wms config_package
📞 技术支持
遇到配置问题?
- 查看配置文件模板:
apps/*/config/*-default.* - 查看组件配置代码:
sbin/husky/components/*.py - 查看部署日志输出
- 联系开发团队
📚 相关文档
作者:聂盼盼 创建时间:2025-10-28 19:50
最后编辑:聂盼盼 更新时间:2025-10-28 19:53
最后编辑:聂盼盼 更新时间:2025-10-28 19:53