|
|
@@ -0,0 +1,152 @@
|
|
|
+# 运维手册
|
|
|
+
|
|
|
+## 服务信息
|
|
|
+
|
|
|
+| 服务 | 端口 | 容器名 | 镜像 |
|
|
|
+|---|---|---|---|
|
|
|
+| Java 后端 | 8001 | java-backend | xjz/java-backend:1.0.0 |
|
|
|
+| 前端 | 5173 | frontend | xjz/frontend:2.5.4 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 后端部署
|
|
|
+
|
|
|
+### 首次启动
|
|
|
+
|
|
|
+```bash
|
|
|
+docker run -d --name java-backend \
|
|
|
+ -p 8001:8001 \
|
|
|
+ --network payment-platform_app-tier \
|
|
|
+ -e TZ=Asia/Shanghai \
|
|
|
+ -e SPRING_PROFILES_ACTIVE=prod \
|
|
|
+ -e JAVA_OPTS="-Xms256m -Xmx512m" \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_URL="jdbc:postgresql://postgres:5432/payment_platform_java?currentSchema=public" \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_USERNAME=admin \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_PASSWORD='xjz#123321' \
|
|
|
+ -e SPRING_DATA_REDIS_HOST=redis \
|
|
|
+ -e SPRING_DATA_REDIS_PORT=6379 \
|
|
|
+ -e SPRING_DATA_REDIS_DATABASE=0 \
|
|
|
+ -e SPRING_DATA_REDIS_PASSWORD='123456#xjz' \
|
|
|
+ xjz/java-backend:1.0.0
|
|
|
+```
|
|
|
+
|
|
|
+### 更新部署(重启 JAR)
|
|
|
+
|
|
|
+```bash
|
|
|
+# 1. 本地构建 JAR
|
|
|
+cd /home/payments/code/payment-platform/java
|
|
|
+mvn package -DskipTests -q
|
|
|
+
|
|
|
+# 2. 复制到容器
|
|
|
+docker cp target/payment-platform-1.0.0.jar java-backend:/app.jar
|
|
|
+
|
|
|
+# 3. 停止旧容器,删除并重建
|
|
|
+docker stop java-backend && docker rm java-backend
|
|
|
+
|
|
|
+# 4. 重新启动(使用首次启动的 docker run 命令)
|
|
|
+docker run -d --name java-backend \
|
|
|
+ -p 8001:8001 \
|
|
|
+ --network payment-platform_app-tier \
|
|
|
+ -e TZ=Asia/Shanghai \
|
|
|
+ -e SPRING_PROFILES_ACTIVE=prod \
|
|
|
+ -e JAVA_OPTS="-Xms256m -Xmx512m" \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_URL="jdbc:postgresql://postgres:5432/payment_platform_java?currentSchema=public" \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_USERNAME=admin \
|
|
|
+ -e SPRING_DATASOURCE_DRUID_PASSWORD='xjz#123321' \
|
|
|
+ -e SPRING_DATA_REDIS_HOST=redis \
|
|
|
+ -e SPRING_DATA_REDIS_PORT=6379 \
|
|
|
+ -e SPRING_DATA_REDIS_DATABASE=0 \
|
|
|
+ -e SPRING_DATA_REDIS_PASSWORD='123456#zjz' \
|
|
|
+ xjz/java-backend:1.0.0
|
|
|
+```
|
|
|
+
|
|
|
+> **注意:** 不要用 `docker restart`,容器缓存可能导致 JAR 不更新。必须 `stop` + `rm` + `run`。
|
|
|
+
|
|
|
+### 验证部署
|
|
|
+
|
|
|
+```bash
|
|
|
+# 1. 确认容器运行中
|
|
|
+docker ps | grep java-backend
|
|
|
+
|
|
|
+# 2. 确认启动成功(等 30 秒后)
|
|
|
+docker logs java-backend --tail 20
|
|
|
+
|
|
|
+# 3. 健康检查
|
|
|
+curl http://localhost:8001/api/v1/payment/notify/health
|
|
|
+# 应返回: {"code":0,...}
|
|
|
+
|
|
|
+# 4. 确认代码版本
|
|
|
+docker cp java-backend:/app.jar /tmp/app.jar
|
|
|
+unzip -p /tmp/app.jar "BOOT-INF/classes/com/payment/platform/module/system/auth/service/AuthService.class" > /tmp/AS.class
|
|
|
+strings /tmp/AS.class | grep "<关键字>"
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 前端部署
|
|
|
+
|
|
|
+```bash
|
|
|
+# 本地构建
|
|
|
+cd /home/payments/code/payment-platform/frontend
|
|
|
+npm run build
|
|
|
+
|
|
|
+# 复制到容器
|
|
|
+docker cp dist/. frontend:/usr/share/nginx/html/
|
|
|
+
|
|
|
+# 重载 nginx(如果容器内配置了 nginx)
|
|
|
+docker exec frontend nginx -s reload
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 小程部署
|
|
|
+
|
|
|
+```bash
|
|
|
+cd /home/payments/code/payment-mini
|
|
|
+npm run build:alipay
|
|
|
+
|
|
|
+# 打开支付宝开发者工具 → 上传
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 常用命令
|
|
|
+
|
|
|
+### 查看日志
|
|
|
+
|
|
|
+```bash
|
|
|
+# 后端实时日志
|
|
|
+docker logs -f java-backend
|
|
|
+
|
|
|
+# 最近 100 行
|
|
|
+docker logs java-backend --tail 100
|
|
|
+
|
|
|
+# 过滤错误
|
|
|
+docker logs java-backend --tail 200 2>&1 | grep -iE "ERROR|WARN"
|
|
|
+```
|
|
|
+
|
|
|
+### 数据库
|
|
|
+
|
|
|
+```bash
|
|
|
+# 连接 PostgreSQL
|
|
|
+docker exec -it postgres psql -U admin -d payment_platform_java
|
|
|
+```
|
|
|
+
|
|
|
+### RocketMQ
|
|
|
+
|
|
|
+```bash
|
|
|
+# 查看消息队列
|
|
|
+docker logs rocketmq-broker --tail 50
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 环境变量
|
|
|
+
|
|
|
+| 变量 | 默认值 | 说明 |
|
|
|
+|---|---|---|
|
|
|
+| `SPRING_PROFILES_ACTIVE` | prod | Spring 配置环境 |
|
|
|
+| `JAVA_OPTS` | -Xms256m -Xmx512m | JVM 参数 |
|
|
|
+| `SPRING_DATASOURCE_DRUID_URL` | — | PG 连接串 |
|
|
|
+| `SPRING_DATA_REDIS_HOST` | redis | Redis 地址 |
|
|
|
+| `SPRING_DATA_REDIS_PASSWORD` | — | Redis 密码 |
|