部署指南

项目提供简易部署命令,可供您快速部署,学习并使用。请勿将该简易部署方式直接应用于生产环境

1. 基础组件:部署数据库与中间件

首先需要部署 PostgreSQL 数据库、Redis 缓存和 RocketMQ 消息队列。

启动 PostgreSQL
$docker run -d \
--name postgres \
--restart always \
-p 5432:5432 \
-v /var/lib/postgresql/data:/var/lib/postgresql/data \
-e POSTGRES_DB=charge \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e TZ=Asia/Shanghai \
postgres:14-alpine
启动 Redis
$docker run -d \
--name redis \
--restart always \
-p 6379:6379 \
redis:6.2.21 \
redis-server --appendonly yes
启动 RocketMQ
$docker run -itd \
--name=rocketmq \
--restart=always \
-p 9876:9876 \
-p 10909:10909 \
-p 10911:10911 \
-p 10912:10912 \
-v /etc/localtime:/etc/localtime \
-v /var/run/docker.sock:/var/run/docker.sock \
xuchengen/rocketmq:latest

2. 数据初始化:初始化数据库表结构

执行 SQL 脚本,按顺序依次执行表结构及初始化数据脚本,然后重置主键序列。

执行脚本 1
charging-api/sql/postgresql/db1.sql
# 表结构以及初始化数据
执行脚本 2
charging-api/sql/postgresql/db2.sql
# 重置主键序列

3. 核心服务:部署 API 与 Web 服务

启动后端 API 服务和前端 Web 运营平台。请确保替换环境变量中的 IP 地址和密码配置。

启动 API 服务
$docker run -d \
--name charging-api \
-p 8080:8080 \
-e TZ=Asia/Shanghai \
-e DB_HOST=数据库所在IP \
-e DB_PORT=5432 \
-e DB_NAME=charge \
-e DB_USER=postgres \
-e DB_PASSWORD=数据库密码 \
-e REDIS_HOST=Redis所在IP \
-e REDIS_PORT=6379 \
-e ROCKETMQ_NAME_SERVER=RocketMQ所在IP:9876 \
--restart=always \
100charge/charging-api:latest
启动 Web 平台
$docker run -d \
--name charging-web \
-p 80:80 \
-e API_BASE_URL=/prod-api \
-e BACKEND_URL=http://API服务IP:8080 \
--restart=always \
100charge/charging-web:latest
访问系统
访问 Web 运营平台和端口,使用测试账号:
账号:admin
密码:admin123

4. Nginx 配置 (本地构建部署)

如果您选择本地构建 Web 前端,请将 dist 文件夹复制到服务器,并参考以下 Nginx 配置:

server { listen 80; server_name _; root /您的dist目录路径; index index.html; location / { try_files $uri $uri/ /index.html; } # API 代理 location /prod-api/ { proxy_pass http://您的API地址:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
`