Skip to content

环境配置

本页配合《后端项目部署及运行》使用,集中说明 Hertz Server Django 后端所需的环境变量与基础服务配置,包括 .env 文件、MySQL 与 Redis 的推荐配置。虚拟环境与依赖安装步骤请参考《安装指南》。

1. 基础环境变量(.env)

在后端项目根目录创建 .env 文件,用于覆盖默认配置。一个典型的开发环境示例如下:

ini
# 基础配置
DEBUG=True
SECRET_KEY=your-secret-key-here
ALLOWED_HOSTS=localhost,127.0.0.1

# 数据存储(开发场景可先使用 SQLite,可选配合 Redis)
USE_REDIS_AS_DB=True
REDIS_URL=redis://127.0.0.1:6379/0

# 如使用 MySQL,请在生产环境中启用并填写实际信息
# DB_NAME=Hertz_server
# DB_USER=Hertz_user
# DB_PASSWORD=your_password
# DB_HOST=localhost
# DB_PORT=3306

提示:开发时可以只使用 SQLite +(可选)Redis 即可;如需在生产环境使用 MySQL,可在 .env 中按需开启 DB_* 配置,并将 USE_REDIS_AS_DB 设为 False

2. 进阶环境变量(JWT / 邮件 / CORS)

根据需要,你可以在 .env 中继续配置认证、邮件与跨域参数。

ini
# JWT 配置
JWT_SECRET_KEY=your-jwt-secret-key
JWT_ACCESS_TOKEN_LIFETIME=86400    # 访问令牌有效期(秒)
JWT_REFRESH_TOKEN_LIFETIME=604800  # 刷新令牌有效期(秒)

# 邮件配置(用于找回密码、通知等,可选)
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=smtp.qq.com
EMAIL_PORT=465
EMAIL_USE_SSL=True
EMAIL_HOST_USER=your-email@qq.com
EMAIL_HOST_PASSWORD=your-email-password
DEFAULT_FROM_EMAIL=your-email@qq.com

# 跨域配置(当前端与后端不在同一域名时)
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
CORS_ALLOW_CREDENTIALS=True

3. MySQL 配置

如需在生产环境使用 MySQL,请在数据库中创建独立的库与账号,并与 .env 中的 DB 配置保持一致。

sql
-- 创建数据库
CREATE DATABASE Hertz_server CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建用户并授权
CREATE USER 'Hertz_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON Hertz_server.* TO 'Hertz_user'@'localhost';
FLUSH PRIVILEGES;

.env 中将 DB_NAME/DB_USER/DB_PASSWORD/DB_HOST/DB_PORT 设置为对应值,并根据需要将 USE_REDIS_AS_DB 设为 False

上述 MySQL 配置仅作为示例,生产环境请以团队实际的数据库与运维规范为准。

4. Redis 配置

Redis 既可用于缓存与会话,也可在开发阶段简化数据持久化。推荐的基础配置如下:

文件:redis.conf(关键片段)

conf
# 监听地址与端口
bind 127.0.0.1
port 6379

# 内存限制与淘汰策略(按需调整)
maxmemory 256mb
maxmemory-policy allkeys-lru

# 生产环境建议开启密码
# requirepass your_redis_password

保存配置后,重启 Redis 服务使其生效,并在 .envREDIS_URL 中填入对应密码:

ini
REDIS_URL=redis://:your_redis_password@127.0.0.1:6379/0

上述 Redis 配置同样仅供参考,可根据项目规模与运维要求调整内存、密码策略等参数。