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.
4.6 KiB
4.6 KiB
环境配置指南
📋 概述
本项目支持通过环境变量和配置文件来管理应用程序配置。配置系统具有以下特性:
- 🔧 支持从
.env
和config.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 |
数字 | 数据库超时时间(秒) |
🔧 配置优先级
配置加载优先级(从高到低):
- 环境变量 - 系统环境变量
- config.env - 项目配置文件
- 默认值 - 代码中定义的默认值
💡 使用示例
开发环境配置
# 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
🚨 安全注意事项
- 不要提交包含敏感信息的配置文件到版本控制
- 生产环境使用环境变量而不是配置文件
- 定期轮换证书和密钥
- 使用适当的文件权限保护配置文件
🔧 故障排除
常见问题
Q: 配置文件没有生效?
A: 检查文件名是否正确(config.env
),环境变量优先级更高
Q: Fabric连接失败?
A: 检查 CRYPTO_PATH
和相关证书路径是否正确
Q: 日志级别没有改变?
A: 确保 LOG_LEVEL
值正确,重启应用程序
调试配置
启用调试模式查看配置加载过程:
LOG_LEVEL=debug make run