Skip to content

配置说明

配置文件位于项目根目录,支持多环境配置:

youlai-nest/
├── .env         # 基础配置
├── .env.dev     # 开发环境配置
└── .env.prod    # 生产环境配置

配置加载

加载顺序:.env.env.{NODE_ENV} → 环境变量覆盖

bash
NODE_ENV=dev pnpm start:dev   # 开发环境
NODE_ENV=prod pnpm start:prod  # 生产环境

应用配置

env
# 运行环境:dev / prod / test
NODE_ENV=dev

# Nest 应用监听端口
APP_PORT=8000

# 会话类型:jwt | redis-token
SESSION_TYPE=jwt
配置项默认值说明
NODE_ENVdev运行环境
APP_PORT8000应用端口
SESSION_TYPEjwt会话类型

数据库配置

env
# MySQL 数据库配置
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=123456
MYSQL_DB=youlai_admin

# TypeORM SQL 日志输出
TYPEORM_LOGGING=true
配置项默认值说明
MYSQL_HOSTlocalhostMySQL 主机
MYSQL_PORT3306MySQL 端口
MYSQL_USERroot数据库用户名
MYSQL_PASSWORD-数据库密码
MYSQL_DByoulai_admin数据库名称
TYPEORM_LOGGINGtrue是否输出 SQL 日志

Redis 配置

env
# Redis 配置
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
配置项默认值说明
REDIS_HOSTlocalhostRedis 主机
REDIS_PORT6379Redis 端口
REDIS_DB0数据库编号
REDIS_PASSWORD-Redis 密码

JWT 配置

env
# JWT 认证配置
JWT_SECRET_KEY=dev-jwt-secret-change-me
JWT_EXPIRES_IN=7200
JWT_ISSUER=youlai-nest
配置项默认值说明
JWT_SECRET_KEY-JWT 签名密钥
JWT_EXPIRES_IN7200Token 有效期(秒)
JWT_ISSUERyoulai-nestToken 签发方

OSS 配置

env
# OSS 类型:aliyun | minio | local
OSS_TYPE=minio

# MinIO 配置
OSS_MINIO_ENDPOINT=http://localhost:9000
OSS_MINIO_ACCESS_KEY=minioadmin
OSS_MINIO_SECRET_KEY=minioadmin
OSS_MINIO_BUCKET=default

# 阿里云 OSS 配置
OSS_ALIYUN_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
OSS_ALIYUN_ACCESS_KEY_ID=your-access-key-id
OSS_ALIYUN_ACCESS_KEY_SECRET=your-access-key-secret
OSS_ALIYUN_BUCKET=default

# 本地存储路径
OSS_LOCAL_STORAGE_PATH=D:/data/oss/
类型说明
minioMinIO 对象存储
aliyun阿里云 OSS
local本地文件系统

会话模式

模式说明适用场景
jwt无状态,Token 自包含信息微服务、分布式
redis-token有状态,Token 存储在 Redis需要会话治理

配置使用

typescript
@Injectable()
export class AuthService {
  constructor(private configService: ConfigService) {
    const jwtSecret = this.configService.get<string>("jwt.secretKey");
  }
}

环境变量覆盖

bash
docker run -e MYSQL_HOST=192.168.1.100 -e JWT_SECRET_KEY=production-secret youlai-nest:latest

相关文件

文件说明
.env基础配置
.env.dev开发环境配置
.env.prod生产环境配置
src/config/配置模块

基于 MIT 许可发布 · 由 ❤️ 和 ☕ 驱动 · 支持作者