Files
soul/开发文档/8、部署/本机运行文档.md
卡若 afc2376e96 v1.19 全面改版:VIP会员系统、我的收益、创业老板排行、阅读量排序
- 后端: users表新增VIP字段, 4个VIP API (purchase/status/profile/members)
- 后端: hot接口改按user_tracks阅读量排序
- 后端: orders表支持vip产品类型, migrate新增vip_fields迁移
- 小程序「我的」: 推广中心改为我的收益, 头像VIP标识, VIP入口卡片
- 小程序「我的」: 最近阅读显示真实章节名称
- 小程序首页: 去掉内容概览, 新增创业老板排行(4列网格)
- 小程序首页: 精选推荐从hot接口获取, goToRead增加track记录
- 新增页面: VIP详情页, 会员详情页
- 开发文档精简为10个标准目录, 创建SKILL.md, 需求日志规范化

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 14:07:41 +08:00

3.4 KiB
Raw Permalink Blame History

Soul 主站 · 本机运行文档

主项目一场soul的创业实验本机与服务器运行说明。永平版多服务架构见「永平版优化对比与合并说明」中的本机运行文档参考。


一、主项目运行架构(单 Next 站)

1.1 进程与端口

说明 端口 命令
开发 3000 pnpm devNext 默认)
生产 3006 pnpm buildPORT=3006 HOSTNAME=0.0.0.0 node .next/standalone/server.js

1.2 目录与部署

  • 本地开发:根目录即 Next 源码,app/lib/components/book/miniprogram/ 同层。
  • 生产部署:小型宝塔 42.194.232.22,项目路径 /www/wwwroot/soulPM2 进程名 soul,端口 3006。

二、本机运行步骤

2.1 安装依赖

pnpm install

2.2 开发模式

pnpm dev

2.3 生产模式(本地模拟)

pnpm build
PORT=3006 HOSTNAME=0.0.0.0 node .next/standalone/server.js
  • 需先完成 pnpm buildstandalone 输出在 .next/standalone/
  • 环境变量:.env.local 中配置 MYSQL_*(可选)、SKIP_DB(本地无 DB 时可设 SKIP_DB=1,部分接口会报错,适合纯前端联调)。

2.4 数据库

  • 默认使用腾讯云 MySQLlib/db.ts 默认值)。
  • 本地无数据库时:设置 SKIP_DB=1,接口中依赖 DB 的会抛错,可配合 Mock 或仅跑静态页。
  • 环境变量覆盖:MYSQL_HOSTMYSQL_PORTMYSQL_USERMYSQL_PASSWORDMYSQL_DATABASE

三、关键配置

3.1 环境变量(.env.local

配置项 说明
MYSQL_HOST / MYSQL_PORT / MYSQL_USER / MYSQL_PASSWORD / MYSQL_DATABASE 数据库连接,不设则用代码默认值
SKIP_DB 设为 1 或 true 时跳过 DB 连接,适合无 DB 环境
ADMIN_USERNAME / ADMIN_PASSWORD 后台管理员账号密码(默认 admin / key123456
ADMIN_SESSION_SECRET 管理员 Cookie 签名密钥(生产建议修改)

3.2 管理后台

  • 登录:http://localhost:3000/admin/login开发 /admin/login生产
  • 默认账号admin / key123456与 .cursorrules 一致,可通过环境变量覆盖)
  • 登出 APIPOST /api/admin/logout(清除管理员 Cookie可与「退出登录」按钮对接

四、与永平版差异

  • 永平版多服务Go API 8080、Vue 管理后台 5174、Next 主站 3006见永平根目录 本机运行文档.md
  • 本主项目:单 Next 应用,无独立 Go/Vue管理后台为 Next 内 /adminAPI 为 Next 内 /api/*
  • CORS主项目在 middleware.tsnext.config.mjs 中配置;永平可能由 Nginx/Go 处理。

五、常见问题

  1. 端口被占用
    修改启动命令:PORT=3007 pnpm devPORT=3007 node .next/standalone/server.js

  2. 数据库连接失败
    检查 .env.localMYSQL_* 及本机网络是否能访问腾讯云 MySQL或设 SKIP_DB=1 做无 DB 联调。

  3. API 跨域
    主项目已通过 middleware.ts/api/:path* 设置 CORS允许来源见 ALLOWED_ORIGINS


文档状态:适用于主项目单站部署与本机开发;多服务架构以永平版文档为准。