本项目使用统一的环境变量管理系统,所有端口和配置都可以通过环境变量进行修改。
-
复制环境变量示例文件:
cp env.example .env
-
根据需要修改
.env文件中的配置 -
启动项目:
pnpm start
| 变量名 | 默认值 | 说明 |
|---|---|---|
NEXT_PORT |
3000 | 前端服务端口 (Next.js) |
SERVER_PORT |
4000 | 后端服务端口 (NestJS) |
| 变量名 | 默认值 | 说明 |
|---|---|---|
POSTGRES_HOST |
localhost | PostgreSQL 主机地址 |
POSTGRES_PORT |
5432 | PostgreSQL 端口 |
POSTGRES_DB |
ai-assistant-dev | 数据库名称 |
POSTGRES_USER |
postgres | 数据库用户名 |
POSTGRES_PASSWORD |
postgres | 数据库密码 |
DATABASE_URL |
postgresql://postgres:postgres@localhost:5432/ai-assistant-dev | 完整数据库连接字符串 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
REDIS_HOST |
localhost | Redis 主机地址 |
REDIS_PORT |
16379 | Redis 端口 |
REDIS_URL |
redis://localhost:16379 | Redis 连接字符串 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
NEXT_PUBLIC_API_URL |
http://localhost:4000 | 前端访问后端 API 的地址 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
JWT_SECRET |
secret | JWT 密钥 |
JWT_EXPIRES_IN |
6h | JWT 过期时间 |
# 在 .env 文件中设置
NEXT_PORT=3000
NEXT_PUBLIC_API_URL=http://localhost:4000# 在 .env 文件中设置
SERVER_PORT=5000
NEXT_PUBLIC_API_URL=http://localhost:5000# 在 .env 文件中设置
NEXT_PORT=3000
SERVER_PORT=5000
NEXT_PUBLIC_API_URL=http://localhost:5000环境变量按以下顺序加载,后面的会覆盖前面的:
- 默认配置 (在
scripts/load-env.js中定义) .env文件.env.local文件.env.development文件- 系统环境变量
运行以下命令查看当前配置:
node scripts/load-env.js这将显示所有服务的端口配置和 API URL。
- 端口冲突: 确保修改的端口没有被其他服务占用
- API URL: 修改后端端口时,记得同时更新
NEXT_PUBLIC_API_URL - 数据库端口: 修改数据库端口时,需要同时更新 Docker Compose 配置
- 环境变量文件:
.env文件包含敏感信息,不要提交到版本控制系统
# 检查端口占用情况
lsof -i :3000 # 检查前端端口
lsof -i :4000 # 检查后端端口
lsof -i :5432 # 检查数据库端口
lsof -i :16379 # 检查 Redis 端口- 确认
.env文件在项目根目录 - 重启开发服务器
- 检查环境变量文件格式是否正确
- 运行
node scripts/load-env.js验证配置