You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spiderman/CONFIG_GUIDE.md

4.6 KiB

环境配置指南

📋 概述

本项目支持通过环境变量和配置文件来管理应用程序配置。配置系统具有以下特性:

  • 🔧 支持从 .envconfig.env 文件加载配置
  • 🌍 环境变量优先级高于配置文件
  • 🎯 针对开发和生产环境的不同配置
  • 📚 完整的配置文档和示例

🚀 快速开始

1. 设置配置文件

# 复制示例配置文件
cp config.env.example config.env

# 或使用Makefile
make env-setup

2. 编辑配置

编辑 config.env 文件,根据您的环境调整配置:

# 服务器配置
PORT=8080

# Fabric配置
MSP_ID=Org1MSP
CRYPTO_PATH=../../test-network/organizations/peerOrganizations/org1.example.com
CHANNEL_NAME=mychannel
CHAINCODE_NAME=basic

# 日志配置
LOG_LEVEL=info
LOG_FORMAT=text

# 环境配置
ENVIRONMENT=development

3. 运行应用

# 开发环境
make run-dev

# 生产环境
make run-prod

# 或直接运行
make run

📖 配置选项

服务器配置

变量 默认值 描述
PORT 8080 HTTP服务器端口

Hyperledger Fabric配置

变量 默认值 描述
MSP_ID Org1MSP MSP身份ID
CRYPTO_PATH ../../test-network/organizations/... 加密材料基础路径
CERT_PATH {CRYPTO_PATH}/users/.../signcerts 证书路径
KEY_PATH {CRYPTO_PATH}/users/.../keystore 私钥路径
TLS_CERT_PATH {CRYPTO_PATH}/peers/.../tls/ca.crt TLS证书路径
PEER_ENDPOINT dns:///localhost:7051 Peer节点gRPC端点
GATEWAY_PEER peer0.org1.example.com 网关Peer名称
CHANNEL_NAME mychannel 区块链通道名称
CHAINCODE_NAME basic 链码名称

日志配置

变量 默认值 可选值 描述
LOG_LEVEL info panic, fatal, error, warn, info, debug, trace 日志级别
LOG_FORMAT text text, json 日志格式

环境配置

变量 默认值 可选值 描述
ENVIRONMENT development development, production 运行环境
API_TIMEOUT 30 数字 API超时时间(秒)
DB_TIMEOUT 10 数字 数据库超时时间(秒)

🔧 配置优先级

配置加载优先级(从高到低):

  1. 环境变量 - 系统环境变量
  2. config.env - 项目配置文件
  3. 默认值 - 代码中定义的默认值

💡 使用示例

开发环境配置

# config.env for development
ENVIRONMENT=development
LOG_LEVEL=debug
LOG_FORMAT=text
PORT=8080

生产环境配置

# config.env for production
ENVIRONMENT=production
LOG_LEVEL=warn
LOG_FORMAT=json
PORT=80

Docker环境配置

# 通过环境变量传递
docker run -p 8080:8080 \
  -e ENVIRONMENT=production \
  -e LOG_FORMAT=json \
  -e LOG_LEVEL=info \
  spiderman

🎯 环境特定功能

开发环境

  • Swagger文档可用 (/swagger/)
  • 📊 详细的调试日志
  • 🔧 热重载支持

生产环境

  • 🚫 Swagger文档关闭
  • 📈 JSON格式日志
  • 优化的性能设置

🛠 Makefile命令

# 环境配置
make env-setup          # 设置配置文件
make show-config        # 显示当前配置

# 运行命令
make run                # 使用配置文件运行
make run-dev            # 开发环境运行
make run-prod           # 生产环境运行

# Docker命令
make docker-run         # Docker运行
make docker-run-dev     # Docker开发环境运行

🔍 配置验证

检查当前配置:

make show-config

运行时配置验证:

# 启动应用时会显示加载的配置
make run-dev

🚨 安全注意事项

  1. 不要提交包含敏感信息的配置文件到版本控制
  2. 生产环境使用环境变量而不是配置文件
  3. 定期轮换证书和密钥
  4. 使用适当的文件权限保护配置文件

🔧 故障排除

常见问题

Q: 配置文件没有生效? A: 检查文件名是否正确(config.env),环境变量优先级更高

Q: Fabric连接失败? A: 检查 CRYPTO_PATH 和相关证书路径是否正确

Q: 日志级别没有改变? A: 确保 LOG_LEVEL 值正确,重启应用程序

调试配置

启用调试模式查看配置加载过程:

LOG_LEVEL=debug make run

📚 参考资料