部署
1. 依赖服务
- MySQL(必需)
- Redis(7.x,必需)
- MinIO(可选,文件存储)
生产建议使用独立实例或容器,确保端口/账号与
.env.prod一致。
2. 构建
上传源码到服务器(不含 node_modules / dist),例如:/opt/youlai-nest。
在 youlai-nest 根目录:
bash
pnpm install --prod
pnpm run build生产环境以
.env.prod为准,建议确保以下关键项已配置:APP_PORT、SESSION_TYPE、MYSQL_*、REDIS_*、JWT_SECRET_KEY。
3. 启动
bash
export NODE_ENV=prod
pnpm run start:prod- 端口由
APP_PORT控制(兼容SERVER_PORT,默认 8000) NODE_ENV=prod会加载.env.prod(确保 DB/Redis/SESSION_TYPE 配置正确)- 建议进程守护:pm2 / systemd
- 可配合 Nginx 做 HTTPS 反代
示例(pm2):
bash
pm2 start "NODE_ENV=prod pnpm run start:prod" --name youlai-nest如需 systemd:
ini
[Unit]
Description=youlai-nest
After=network.target
[Service]
WorkingDirectory=/opt/youlai-nest
Environment=NODE_ENV=prod
ExecStart=/usr/bin/pnpm run start:prod
Restart=always
[Install]
WantedBy=multi-user.target4. Docker(可选)
bash
docker build -t youlai-nest .
docker run -d --name youlai-nest -p 8000:8000 \
--env-file .env.prod \
youlai-nest容器仍需连接外部 MySQL/Redis,可通过
--env-file .env.prod或自定义网络配置。
5. 验证
- Swagger:
http://localhost:8000/api-docs
