配置管理使用手册

📋 概述

本手册介绍 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# - 缓存类型

🔄 配置更新流程

修改配置参数

  1. 编辑 etc/config_default.xml
  2. 修改对应服务的配置参数
  3. 重新执行配置命令
# 重新生成配置文件
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

📞 技术支持

遇到配置问题?

  1. 查看配置文件模板: apps/*/config/*-default.*
  2. 查看组件配置代码: sbin/husky/components/*.py
  3. 查看部署日志输出
  4. 联系开发团队

📚 相关文档

作者:聂盼盼  创建时间:2025-10-28 19:50
最后编辑:聂盼盼  更新时间:2025-10-28 19:53