ops.md 3.0 KB

运维手册

服务信息

服务 端口 容器名 镜像
Java 后端 8001 java-backend xjz/java-backend:1.0.0
前端 5173 frontend xjz/frontend:2.5.4

后端部署

首次启动

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

更新部署

用项目根目录的 deploy.sh 一键完成:构建 JAR → 打包镜像 → 启动容器 → 验证。

# 本地 → 服务器
scp D:\project2\payment-platform\java\target\payment-platform-1.0.0.jar root@服务器IP:/opt/payment/app.jar
scp D:\project2\payment-platform\deploy.sh root@服务器IP:/tmp/

# 服务器上执行
bash /tmp/deploy.sh

deploy.sh 流程:COPY JAR → build 新镜像 → stop/rm 旧容器 → run 新容器 → 等 30s → 验证 trade/precreate 端点。

验证部署

# 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 "<关键字>"

前端部署

# 本地构建
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

小程部署

cd /home/payments/code/payment-mini
npm run build:alipay

# 打开支付宝开发者工具 → 上传

常用命令

查看日志

# 后端实时日志
docker logs -f java-backend

# 最近 100 行
docker logs java-backend --tail 100

# 过滤错误
docker logs java-backend --tail 200 2>&1 | grep -iE "ERROR|WARN"

数据库

# 连接 PostgreSQL
docker exec -it postgres psql -U admin -d payment_platform_java

RocketMQ

# 查看消息队列
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 密码