部署指南
项目提供简易部署命令,可供您快速部署,学习并使用。请勿将该简易部署方式直接应用于生产环境。
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;
}
}