Skip to content

宝塔面板部署

宝塔面板是国内最流行的服务器管理面板之一,提供可视化的服务器管理功能。本文档将指导您如何通过宝塔面板部署 MISEB 系统。

宝塔面板简介

宝塔面板(BT Panel)是一款简单好用的服务器运维面板,功能包括:

  • 可视化管理服务器
  • Docker容器管理
  • 文件管理和终端功能
  • 定时任务和备份

第一步:安装宝塔面板

CentOS安装

bash
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

Ubuntu/Debian安装

bash
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

安装完成后

安装完成会显示:

  • 面板地址(外网/内网)
  • 用户名
  • 密码

重要

请立即保存这些信息!首次登录后请修改默认密码。

第二步:安装Docker管理器

2.1 安装Docker

  1. 登录宝塔面板
  2. 进入 软件商店
  3. 搜索 Docker管理器
  4. 点击 安装

安装完成后,Docker会自动配置好。

2.2 验证Docker安装

在宝塔终端中执行:

bash
docker --version
docker compose version

2.3 配置Docker镜像加速(国内服务器)

bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

第三步:上传部署包

首先下载部署包:

  • .tar.gz格式: 点击下载

    https://ivett.oss-cn-beijing.aliyuncs.com/release/miseb-mer-java/miseb-deploy.tar.gz

3.1 上传文件

  1. 进入 文件 管理
  2. 进入 /www/wwwroot 目录
  3. 创建 miseb 文件夹
  4. 上传 miseb-deploy.tar.gz
  5. 右键解压

3.2 目录结构

解压后目录结构:

/www/wwwroot/miseb/deploy/
├── .env.example              # 环境变量模板
├── docker-compose.yml        # Docker Compose配置(包含所有服务)
├── start.sh                  # 一键启动脚本
├── stop.sh                   # 停止脚本
├── admin/                    # Admin服务Dockerfile
├── front/                    # Front服务Dockerfile
├── nginx/                    # Nginx配置
│   ├── conf.d/               # 站点配置文件
│   └── ssl/                  # SSL证书目录(需自行上传证书)
├── mysql/                    # MySQL初始化脚本和配置
├── redis/                    # Redis配置
├── elasticsearch/            # ES配置
├── logstash/                 # Logstash配置
├── minio/                    # MinIO配置
├── data/                     # 数据目录
└── logs/                     # 日志目录

第四步:配置环境变量

4.1 复制配置文件

bash
cd /www/wwwroot/miseb/deploy
cp .env.example .env

4.2 编辑配置

使用宝塔文件管理器编辑 .env 文件:

配置SSL证书(HTTPS支持):

如果您需要开启 HTTPS,请将您的 SSL 证书文件上传至 nginx/ssl/ 目录,并按以下规则命名(推荐):

  • 证书文件:server.crt
  • 私钥文件:server.key

如果不按照上述命名,您需要修改 nginx/conf.d/default.conf 中的 SSL 配置路径。

bash
# ===================== Docker镜像仓库 =====================
DOCKER_REGISTRY=docker.cdiwit.com/miseb-multi-mer
IMAGE_TAG=1.0.0

# ===================== MySQL配置 =====================
MYSQL_VERSION=8.0
MYSQL_ROOT_PASSWORD=YourStrongRootPassword123!
MYSQL_DATABASE=miseb
MYSQL_USERNAME=miseb
MYSQL_PASSWORD=YourStrongPassword123!

# ===================== Redis配置 =====================
REDIS_PASSWORD=YourRedisPassword123!

# ===================== Elasticsearch配置 =====================
ES_VERSION=9.2.2
ES_JAVA_OPTS="-Xms512m -Xmx512m"

# ===================== MinIO配置 =====================
MINIO_VERSION=2024.08
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=YourMinioPassword123!

# ===================== JVM配置 =====================
ADMIN_JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"
FRONT_JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"

# ===================== 域名配置 =====================
# 主域名(用于nginx server_name)
MISEB_DOMAIN=www.example.com

# ===================== 商品图片配置 =====================
# 图片访问域名(用于商品图片URL生成)
IMAGE_DOMAIN=https://www.example.com
# 图片存储类型: local(本地), minio(MinIO对象存储)
IMAGE_STORAGE_TYPE=local

安全警告

请务必修改所有默认密码!使用默认密码会导致严重的安全风险。

第五步:登录Docker仓库

在宝塔终端执行:

bash
docker login docker.cdiwit.com -u 'robot$guest' --password-stdin <<< 'vXvsCo4PUQr7HutP4nfGCFPicYMeNxLh'

或使用交互式登录:

bash
docker login docker.cdiwit.com -u 'robot$guest'
# 输入密码:vXvsCo4PUQr7HutP4nfGCFPicYMeNxLh

账户说明

  • 用户名:robot$guest(注意使用单引号包裹,防止 $ 符号被Shell解析)
  • 密码:vXvsCo4PUQr7HutP4nfGCFPicYMeNxLh
  • 此为只读账户,仅用于拉取镜像

第六步:启动服务

方式一:一键启动(推荐)

bash
cd /www/wwwroot/miseb/deploy

# 赋予执行权限
chmod +x start.sh stop.sh

# 一键启动
./start.sh

启动脚本会自动完成以下操作:

  1. 拉取所有Docker镜像
  2. 启动基础设施服务(MySQL、Redis、Elasticsearch、Logstash、MinIO)
  3. 等待基础设施就绪
  4. 初始化数据库(首次启动)
  5. 启动应用服务(Admin、Front、Nginx)

方式二:手动启动

bash
cd /www/wwwroot/miseb/deploy

# 拉取镜像
docker compose pull

# 启动所有服务
docker compose up -d

# 查看状态
docker compose ps

方式三:使用宝塔容器编排

  1. 进入 Docker > 容器编排
  2. 点击 添加
  3. 选择 /www/wwwroot/miseb/deploy/docker-compose.yml
  4. 点击 部署

6.1 验证启动

bash
# 查看所有容器状态
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

确认以下容器运行正常:

基础设施容器:

  • miseb-mysql
  • miseb-redis
  • miseb-elasticsearch
  • miseb-logstash
  • miseb-minio

应用容器:

  • miseb-admin
  • miseb-front
  • miseb-nginx

第七步:配置域名反向代理(可选)

说明

MISEB部署包已包含Nginx容器处理所有路由,如果您使用IP直接访问,可以跳过此步骤。

如果您需要使用域名访问并配置SSL证书,可以使用宝塔的Nginx作为前端代理。

7.1 创建网站

  1. 进入 网站 页面
  2. 点击 添加站点
  3. 配置:
    • 域名:您的域名
    • PHP版本:纯静态
    • 根目录:/www/wwwroot/miseb

7.2 配置反向代理

  1. 点击网站的 设置
  2. 进入 反向代理
  3. 添加反向代理:

代理名称:miseb

目标URLhttp://127.0.0.1:80

发送域名$host

7.3 端口冲突处理

如果宝塔的Nginx占用了80端口,有两种解决方案:

方案一:修改MISEB的Nginx端口

修改 .env 文件:

bash
HTTP_PORT=8088

然后重启应用服务:

bash
docker compose up -d

宝塔Nginx代理目标URL改为:http://127.0.0.1:8088

方案二:停止宝塔Nginx,使用MISEB Nginx

bash
# 停止宝塔Nginx
systemctl stop nginx

# MISEB Nginx将接管80端口

7.4 配置SSL证书

  1. 在网站设置中,进入 SSL
  2. 选择 Let's Encrypt
  3. 勾选域名,点击 申请
  4. 启用 强制HTTPS

第八步:验证部署

访问测试

服务地址
PC商城http://服务器IP/https://您的域名/
H5商城http://服务器IP/h5/
平台管理http://服务器IP/platform/
商户管理http://服务器IP/merchant/
MinIO控制台http://服务器IP:9001/

默认账号

账号密码
平台管理端admin123456
商户管理端需先入驻-

安全提示

首次登录后请立即修改默认密码!

日常运维

使用宝塔Docker管理器

  1. 进入 软件商店 > Docker管理器
  2. 可视化管理容器:
    • 查看容器列表
    • 启动/停止/重启容器
    • 查看容器日志
    • 进入容器终端

查看日志

方式一:通过Docker管理器查看

方式二:通过终端查看

bash
# 查看Admin日志
docker logs -f --tail 100 miseb-admin

# 查看Front日志
docker logs -f --tail 100 miseb-front

# 查看Nginx日志
docker logs -f --tail 100 miseb-nginx

# 查看MySQL日志
docker logs -f --tail 100 miseb-mysql

停止服务

bash
cd /www/wwwroot/miseb/deploy

# 使用停止脚本
./stop.sh

# 或手动停止
docker compose down

重启服务

bash
cd /www/wwwroot/miseb/deploy

# 重启所有服务
docker compose restart

# 重启单个服务
docker compose restart miseb-admin

更新应用

bash
cd /www/wwwroot/miseb/deploy

# 拉取新镜像
docker compose pull

# 重新部署
docker compose up -d --force-recreate

备份数据

备份MySQL数据

bash
# 进入MySQL容器执行备份
docker exec miseb-mysql mysqldump -u root -p${MYSQL_ROOT_PASSWORD} miseb > /www/backup/miseb_$(date +%Y%m%d).sql

使用宝塔计划任务

  1. 进入 计划任务
  2. 添加 Shell脚本 任务
  3. 脚本内容:
bash
#!/bin/bash
BACKUP_DIR=/www/backup/miseb
mkdir -p $BACKUP_DIR
docker exec miseb-mysql mysqldump -u root -pYourRootPassword miseb > $BACKUP_DIR/miseb_$(date +%Y%m%d_%H%M%S).sql
# 删除7天前的备份
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete

备份上传文件

bash
# MinIO数据目录
/www/wwwroot/miseb/deploy/minio-data/

常见问题

启动脚本报错 required file not found

原因:脚本文件是在Windows环境下编辑或保存的,换行符为 CRLF,导致Linux无法识别。

解决方案: 在宝塔终端中执行以下命令修复:

bash
sed -i 's/\r$//' *.sh
chmod +x *.sh

Elasticsearch启动失败

问题:ES容器启动后立即退出

解决方案

bash
# 检查日志
docker logs miseb-elasticsearch

# 常见问题:vm.max_map_count太小
sudo sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf

内存不足

问题:Java服务OOM

解决方案

调整 .env 中的JVM配置:

bash
ES_JAVA_OPTS="-Xms256m -Xmx256m"
ADMIN_JAVA_OPTS="-Xms256m -Xmx512m"
FRONT_JAVA_OPTS="-Xms256m -Xmx512m"

然后重启服务:

bash
docker compose up -d

容器无法启动

问题:提示镜像拉取失败

解决方案

  1. 检查是否已登录Docker仓库
bash
docker login docker.cdiwit.com
  1. 检查网络连接
bash
ping docker.cdiwit.com

宝塔安全组设置

确保在宝塔 安全 页面放行以下端口:

  • 80 (HTTP)
  • 443 (HTTPS)
  • 9001 (MinIO控制台,可选)

查看服务端口占用

bash
# 检查端口占用
netstat -tlnp | grep -E '80|3306|6379|9200|9001'

部署架构说明

MISEB使用Docker Compose进行容器编排,所有服务配置在 docker-compose.yml 文件中:

基础设施服务

服务容器名端口说明
MySQLmiseb-mysql3306主数据库
Redismiseb-redis6379缓存和Session
Elasticsearchmiseb-elasticsearch9200搜索和日志
Logstashmiseb-logstash4560日志收集
MinIOmiseb-minio9000/9001对象存储

应用服务

服务容器名端口说明
Adminmiseb-admin8080平台端/商户端API
Frontmiseb-front8081用户端API
Nginxmiseb-nginx80/443前端静态资源和反向代理

下一步

成都艾唯特软件有限公司