Skip to content

环境变量速查表

本章节汇总了项目 .env 文件中所有可配置的环境变量,按功能分类整理。所有变量均可在 .env.example 中找到示例。

温馨提示

  1. .env.example 是环境变量模板文件,已提交到版本控制。真实 .env 文件已被 .gitignore 忽略。
  2. 首次使用请执行 cp .env.example .env 复制模板后修改。
  3. 带有 必填 标记的变量必须设置,否则应用无法正常启动。

基础配置

变量名默认值说明
TORNADO_NAMETornado+AntdVue旗舰版应用名称,用于界面显示和系统标识
TORNADO_VERSIONv3.0.0应用版本号
TORNADO_HOST127.0.0.1应用监听地址。127.0.0.1 仅本地访问;容器/生产建议 0.0.0.0
TORNADO_PORT8041应用监听端口
TORNADO_APPapp.py应用启动文件名
TORNADO_ENVdevelopment运行环境:development / production / testing
TORNADO_DEBUGTrue是否开启调试模式。True 时输出详细错误堆栈和 SQL 日志,生产环境务必设为 False
TORNADO_DEMOFalse是否开启演示模式。True 时所有写操作(add/update/delete/status/batchDelete)返回"演示环境,暂无操作权限"
TORNADO_CORS_ORIGINS(空)CORS 允许的源白名单,逗号分隔。留空则允许所有来源
TORNADO_TRUST_PROXYFalse是否信任反向代理的 X-Forwarded-For 头。为 True 时取 XFF 最左侧 IP 作为客户端真实 IP
TORNADO_FILE_URL(空)文件访问域名,用于拼接上传文件的访问 URL
UPLOAD_ALLOWED_EXTS.jpg,.jpeg,.png,...,.zip允许上传的文件扩展名,逗号分隔(带点号)
UPLOAD_MAX_SIZE_MB10上传文件大小上限(MB)

安全提示

生产环境务必设置 TORNADO_DEBUG=False,调试模式会输出详细的错误堆栈信息,可能泄漏内部实现细节。

数据库配置

变量名默认值说明
DB_DRIVERmysql数据库驱动。可选:mysql / postgresql / mssql / oracle / sqlite
DB_HOST127.0.0.1数据库地址(sqlite 时忽略)
DB_PORT3306数据库端口(sqlite 时忽略)
DB_DATABASEdjangoadmin.tornado.antdvue数据库名称。sqlite 时作为数据库文件完整路径
DB_USERNAMEroot数据库账号(sqlite 时忽略)
DB_PASSWORD(空)数据库密码(sqlite 除外)
DB_PREFIXtornado_数据表前缀,所有业务表名自动添加此前缀
DB_DEBUGFalse是否开启 SQL 调试日志(对应 SQLAlchemy echo 参数)。生产环境务必设为 False
READ_DATABASE_URL(空)读库地址(读写分离,可选;留空则读写同库)

多数据库支持

DB_DRIVER 支持别名:postgrespostgresqlsqlservermssqlsqlite3sqlite。切换驱动后需安装对应的 Python 驱动包(poetry install -E postgresql / -E mssql / -E oracle)。

Redis 缓存配置

变量名默认值说明
REDIS_HOST127.0.0.1Redis 服务地址
REDIS_PORT6379Redis 服务端口
REDIS_PASSWORD(空)Redis 密码。REDIS_AUTH=True 时必填
REDIS_INDEX0Redis 库索引(0-15)
REDIS_AUTHTrue是否启用 Redis 认证。设为 False 时无需密码
REDIS_DECODE_RESPONSESTrue是否自动解码响应(bytes → str)

温馨提示

Redis 用于存储验证码、JWT 令牌黑名单和登录防爆破数据,是项目正常运行的必需服务。

JWT 令牌配置(必填)

变量名默认值说明
JWT_SECRET(空)JWT 签名密钥,必填。至少 32 字节强随机值,留空或过弱应用会拒绝启动(fail-close)
JWT_EXPIRE_MINUTES20JWT 令牌过期时间(分钟)
LOGIN_FAIL_MAX5登录失败次数上限,超过后锁定账号(防暴力破解)
LOGIN_LOCK_SECONDS300登录锁定时间(秒)

重要提示

JWT_SECRET 是安全关键配置,必须设置。推荐使用以下命令生成:

bash
python -c "import secrets; print(secrets.token_urlsafe(48))"

生成后请妥善保管,泄漏会导致令牌被伪造。已知不安全的默认值(如空字符串、change-mesecret 等)会在启动时被拦截。

验证码配置

变量名默认值说明
CAPTCHA_LENGTH6验证码字符长度(4-6 位)
CAPTCHA_EXPIRE300验证码过期时间(秒)
CAPTCHA_RATE_WINDOW60验证码防刷窗口期(秒)
CAPTCHA_RATE_LIMIT20窗口期内最大获取次数
CAPTCHA_CHARS346789ABCDEFGHJKMNPQRTUVWXY验证码字符集(已去除易混淆字符)
CAPTCHA_IMAGE_WIDTH200验证码图片宽度(像素)
CAPTCHA_IMAGE_HEIGHT60验证码图片高度(像素)
CAPTCHA_FONT_SIZE30验证码字体大小
CAPTCHA_NOISE_LINES10干扰线数量
CAPTCHA_NOISE_DOTS60噪点数量
CAPTCHA_BYPASS_CODE618618万能验证码(仅 TORNADO_DEMO=True 时生效)

邮件配置

变量名默认值说明
MAIL_MAILERsmtp邮件传输协议
MAIL_SERVERsmtp.163.comSMTP 服务器地址
MAIL_PORT465SMTP 服务端口
MAIL_USE_SSLTrue是否启用 SSL 加密
MAIL_USERNAME(空)授权邮箱用户名
MAIL_PASSWORD(空)授权邮箱密码/授权码
MAIL_ENCRYPTION(空)邮件加密串(可选)
MAIL_FROM_NAME(空)发件人显示名称
MAIL_FROM_ADDRESS(空)发件人邮箱地址

温馨提示

邮件功能为预留扩展功能,暂未实现。

日志配置

变量名默认值说明
LOG_LEVELINFO日志级别:DEBUG / INFO / WARNING / ERROR
LOG_DIRlogs日志输出目录

环境变量配置示例

以下是一个开发环境的 .env 文件示例(基于 .env.example 模板修改):

bash
# ============================================================
# 基础配置
# ============================================================
TORNADO_NAME=Tornado+AntdVue旗舰版
TORNADO_VERSION=v3.0.0
TORNADO_HOST=127.0.0.1
TORNADO_PORT=8041
TORNADO_ENV=development
TORNADO_DEBUG=True
TORNADO_DEMO=False

# ============================================================
# 数据库配置
# ============================================================
DB_DRIVER=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=djangoadmin.tornado.antdvue
DB_USERNAME=root
DB_PASSWORD=your_password
DB_PREFIX=tornado_
DB_DEBUG=False

# ============================================================
# Redis 配置
# ============================================================
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=your_redis_password
REDIS_INDEX=0
REDIS_AUTH=True

# ============================================================
# JWT 配置(必填)
# ============================================================
JWT_SECRET=your_generated_secret_key_here_at_least_32_bytes
JWT_EXPIRE_MINUTES=20
LOGIN_FAIL_MAX=5
LOGIN_LOCK_SECONDS=300

# ============================================================
# 验证码配置
# ============================================================
CAPTCHA_LENGTH=6
CAPTCHA_EXPIRE=300

# ============================================================
# 上传配置
# ============================================================
UPLOAD_ALLOWED_EXTS=.jpg,.jpeg,.png,.gif,.bmp,.ico,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.mp3,.mp4,.zip,.rar,.7z
UPLOAD_MAX_SIZE_MB=10

配置来源

所有配置变量在 src/config/ 目录下的各模块中读取:app.py(基础配置)、database.py(数据库)、auth.py(JWT)、redis.py(Redis)、captcha.py(验证码)、email.py(邮件)。通过 python-dotenv.env 文件加载。

安全提醒

  1. 真实 .env 文件包含敏感信息(数据库密码、JWT 密钥等),已被 .gitignore 忽略,请勿提交到版本控制。
  2. 生产环境务必设置 TORNADO_DEBUG=FalseDB_DEBUG=False
  3. 定期轮换 JWT_SECRET 密钥,提高系统安全性。

总结

本章节汇总了项目所有可配置的环境变量,涵盖基础配置、数据库、Redis、JWT、验证码、上传、邮件和日志等功能模块。通过合理配置这些变量,可以灵活调整项目的运行参数,适应不同的开发、测试和生产环境需求。建议首次使用时以 .env.example 为模板,仅修改必需项,其余保持默认值即可快速启动项目。

小蚂蚁云团队 · 提供技术支持