commit
This commit is contained in:
112
backend/CONFIG_GUIDE.md
Normal file
112
backend/CONFIG_GUIDE.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# Python服务配置说明
|
||||
|
||||
## 配置文件结构
|
||||
|
||||
Python服务现在使用与Go服务相同的配置文件结构:
|
||||
|
||||
```
|
||||
backend/
|
||||
├── config.dev.yaml # 开发环境配置
|
||||
├── config.prod.yaml # 生产环境配置
|
||||
├── config.py # 配置加载模块
|
||||
├── .env.example # 环境变量示例
|
||||
└── .env # 环境变量(需手动创建,Git忽略)
|
||||
```
|
||||
|
||||
## 环境切换
|
||||
|
||||
通过设置 `ENV` 环境变量来切换环境:
|
||||
|
||||
### Windows (CMD)
|
||||
```bash
|
||||
set ENV=dev
|
||||
python main.py
|
||||
```
|
||||
|
||||
### Windows (PowerShell)
|
||||
```powershell
|
||||
$env:ENV="dev"
|
||||
python main.py
|
||||
```
|
||||
|
||||
### Linux/Mac
|
||||
```bash
|
||||
ENV=dev python main.py
|
||||
```
|
||||
|
||||
或者在 `.env` 文件中设置:
|
||||
```
|
||||
ENV=dev
|
||||
```
|
||||
|
||||
## 配置优先级
|
||||
|
||||
1. **环境变量** - 最高优先级
|
||||
2. **配置文件** - config.{ENV}.yaml
|
||||
3. **代码默认值** - 最低优先级
|
||||
|
||||
## 配置项说明
|
||||
|
||||
### 开发环境 (config.dev.yaml)
|
||||
|
||||
- **数据库**: 本地MySQL (localhost:3306)
|
||||
- **调度器**: 启用,每5秒执行一次(测试用)
|
||||
- **日志级别**: DEBUG
|
||||
|
||||
### 生产环境 (config.prod.yaml)
|
||||
|
||||
- **数据库**: 远程MySQL (8.149.233.36:3306)
|
||||
- **调度器**: 启用,每5分钟执行一次
|
||||
- **日志级别**: INFO
|
||||
|
||||
## 使用示例
|
||||
|
||||
### 1. 开发环境
|
||||
|
||||
创建 `.env` 文件:
|
||||
```bash
|
||||
ENV=dev
|
||||
```
|
||||
|
||||
启动服务:
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
|
||||
### 2. 生产环境
|
||||
|
||||
创建 `.env` 文件:
|
||||
```bash
|
||||
ENV=prod
|
||||
```
|
||||
|
||||
启动服务:
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
|
||||
### 3. 覆盖配置
|
||||
|
||||
如需临时修改某些配置,可在 `.env` 中添加:
|
||||
```bash
|
||||
ENV=dev
|
||||
DB_HOST=192.168.1.100
|
||||
SCHEDULER_CRON=0 */10 * * * *
|
||||
```
|
||||
|
||||
## 与Go服务的配置对应关系
|
||||
|
||||
| Python配置 | Go配置 | 说明 |
|
||||
|-----------|--------|------|
|
||||
| config.dev.yaml | config/config.dev.yaml | 开发环境配置 |
|
||||
| config.prod.yaml | config/config.prod.yaml | 生产环境配置 |
|
||||
| ENV环境变量 | ENV环境变量 | 环境切换 |
|
||||
| database.username | database.username | 数据库用户名 |
|
||||
| database.dbname | database.dbname | 数据库名称 |
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **密码安全**: 生产环境请修改 `config.prod.yaml` 中的数据库密码
|
||||
2. **Git忽略**: `.env` 文件已被Git忽略,不会提交到代码库
|
||||
3. **环境变量**: 环境变量会覆盖配置文件中的同名配置
|
||||
4. **调度器频率**: 开发环境默认5秒执行一次,生产环境默认5分钟执行一次
|
||||
Reference in New Issue
Block a user