Skip to content

部署

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_PORTSESSION_TYPEMYSQL_*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.target

4. 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

基于 MIT 许可发布