env.production.example 2.7 KB

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