# ============================================ # 生产环境配置示例 # ============================================ # 文件路径: /iflytek/dibang/api/.env # # 使用方法: # 1. 复制此文件到服务器: scp env.production.example user@121.43.228.102:/iflytek/dibang/api/.env # 2. 修改 JWT_SECRET 为强随机密钥(至少32个字符) # 3. 根据实际情况修改 CORS_ORIGINS # ============================================ # 环境配置 # ============================================ # 运行环境: dev (开发), test (测试), prod (生产) ENV=prod # ============================================ # 数据库配置 # ============================================ # MySQL 数据库连接字符串 # 格式: mysql+asyncmy://用户名:密码@主机:端口/数据库名?charset=utf8mb4 DATABASE_URL=mysql+asyncmy://root:hn02le.34lkdLKD@121.43.228.102:3306/dibang-test?charset=utf8mb4 # ============================================ # JWT 配置 # ============================================ # JWT 密钥,生产环境必须设置强密钥(建议至少32个字符) # 请使用以下命令生成强密钥: # python -c "import secrets; print(secrets.token_urlsafe(32))" # 或 # openssl rand -base64 32 JWT_SECRET=CHANGE-THIS-TO-A-STRONG-RANDOM-SECRET-KEY-MIN-32-CHARS # 访问令牌过期时间(分钟) ACCESS_TOKEN_EXPIRES_MINUTES=60 # 刷新令牌过期时间(天) REFRESH_TOKEN_EXPIRES_DAYS=14 # ============================================ # 服务器配置 # ============================================ # 服务器监听地址 HOST=0.0.0.0 # 服务器端口 PORT=8000 # ============================================ # CORS 配置 # ============================================ # CORS 允许的源,多个用逗号分隔 # 生产环境建议指定具体域名,不要使用 * # 示例: https://your-domain.com,https://h5.your-domain.com # 如果没有域名使用 IP,示例: http://121.43.228.102 CORS_ORIGINS=http://121.43.228.102 # 是否允许携带凭证 CORS_ALLOW_CREDENTIALS=true # 允许的 HTTP 方法,多个用逗号分隔 # 示例: GET,POST,PUT,DELETE,OPTIONS CORS_ALLOW_METHODS=GET,POST,PUT,DELETE,OPTIONS # 允许的 HTTP 头,多个用逗号分隔 CORS_ALLOW_HEADERS=* # ============================================ # 数据库连接池配置 # ============================================ # 连接池中保持的连接数 DB_POOL_SIZE=10 # 连接池外可以额外创建的连接数(最大连接数 = DB_POOL_SIZE + DB_MAX_OVERFLOW) DB_MAX_OVERFLOW=20 # 从连接池获取连接的超时时间(秒) DB_POOL_TIMEOUT=30 # 连接回收时间(秒),避免 MySQL wait_timeout 导致的连接过期 DB_POOL_RECYCLE=3600 # 每次使用连接前先 ping,确保连接有效(建议保持 true) DB_POOL_PRE_PING=true