# 京东 **Repository Path**: foolish-y/jd.com ## Basic Information - **Project Name**: 京东 - **Description**: 个人京东 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-22 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 部署说明(京东电商微服务 + 直播 + 聊天) 面向运维/部署:快速知道依赖、端口、构建与上线顺序。业务细节见 `docs/项目全景导读.md`。 --- ## 1. 系统组成 | 类型 | 名称 | 说明 | |------|------|------| | 入口 | `gateway-service` | 统一 HTTP/WebSocket 入口,默认 **8080** | | 业务 | `user-service` … `chat-service` | 各独立 Maven 工程,见下表端口 | | 前端 | `jd-web` / `jd-admin-web` / `jd-merchant-web` | Vue3 + Vite,构建后为静态资源 | --- ## 2. 运行环境 - **JDK 17**、**Maven 3.6+** - 前端构建:**Node.js**(与项目 lockfile 一致即可) - **MySQL 8**(业务库,多服务可共用库名如 `jd_platform`,注意各服务 Flyway 历史表名区分) - **Redis** - **Nacos**(服务发现;若网关路由写死 `localhost` 单机部署可不依赖注册发现转发,仍以各 `application.yml` 为准) - **MongoDB**(`chat-service` 消息与会话) 首次建库:可按仓库内 `all_tables_init.sql`、`admin-backend-assets/admin_management_tables.sql` 等 SQL 与各服务 `src/main/resources/db/migration` 执行或依赖服务启动时 **Flyway** 自动迁移(以各服务 `application.yml` 中 `spring.flyway` 为准)。 --- ## 3. 服务与端口(本地/单机默认) | 服务 | 端口 | 网关路由前缀(节选) | |------|------|----------------------| | gateway-service | 8080 | 全部入口 | | user-service | 8081 | `/user/**`, `/api/user/**` | | product-service | 8082 | `/product/**`, `/api/product/**` | | cart-service | 8083 | `/cart/**`, `/api/cart/**` | | order-service | 8084 | `/order/**`, `/api/order/**`, `/api/after-sale/**` 等 | | pay-service | 8085 | `/pay/**`, `/api/pay/**` | | merchant-service | 8086 | `/merchant/**`, `/api/merchant/**` | | admin-service | 8087 | `/admin/**`, `/api/admin/**` | | chat-service | 8088 | `/chat/**`, `/api/chat/**`, `/ws/**` | | live-service | 8089 | `/live/**`, `/api/live/**` | 完整路由以 `gateway-service/src/main/resources/application.yml` 为准。生产多机部署时,需将网关 `routes` 中的下游地址从 `http://localhost:端口` 改为实际内网地址或注册中心负载方式(按你们规范改)。 --- ## 4. 构建后端 根目录**无**聚合 `pom.xml`,不要在根目录执行 `mvn -pl`。 - **Windows(推荐)**:双击或执行 `build-all-services.bat` - **PowerShell**:`.\build-all-services.ps1` 各模块执行 `mvn -DskipTests package`,产物在各服务目录 `target/*.jar`。 运行示例(任选其一): ```bash java -jar gateway-service/target/gateway-service-0.0.1-SNAPSHOT.jar ``` --- ## 5. 建议启动顺序 1. MySQL、Redis、MongoDB、Nacos(若使用) 2. 各业务微服务(8081–8089,按实际上线清单) 3. **gateway-service(8080)**(确保下游已监听或具备熔断/重试策略) JWT、Redis DB、网关与 `user-service` 的会话必须一致,详见网关与各服务 `application.yml` 注释。 --- ## 6. 配置与密钥(生产必改) 各服务 `*/src/main/resources/application.yml` 中常见项: - 数据源 URL、账号密码 - `REDIS_HOST` / `REDIS_PORT` / `REDIS_PASSWORD` - `NACOS_SERVER_ADDR`(若使用) - MongoDB 连接串(`chat-service`) - **JWT `secret`、长度与过期策略**:网关与 `user-service` 必须相同 勿将生产密码提交仓库;优先用环境变量或外部配置中心覆盖。 --- ## 7. 前端构建与 Nginx 1. 进入对应前端目录,安装依赖并生产构建(以各子项目 `package.json` 为准,一般为 `npm run build`)。 2. 将 `dist` 部署到 Nginx `root`。 3. 浏览器需访问 **同源** 下的 `/api`、`/ws`,由 Nginx 反代到网关 **8080**;或构建时设置 `VITE_API_BASE` 指向网关完整 URL(见 `jd-web/.env.example`)。 参考示例(请按环境改 IP、路径、上游端口):`deploy/nginx/jd-web-8.136.31.215-82.conf`。 --- ## 8. 健康检查 网关已暴露 Spring Boot Actuator,默认包含 `health`(见 `gateway-service` 的 `management.endpoints.web.exposure.include`)。可按同样方式为各服务开启以便探活。 --- ## 9. 相关文档 - 架构与链路:`docs/项目全景导读.md` - 需求与规范:`需求拆分/` 目录下各服务需求文档 - 本地开发说明:`jd-web/README.md`