Skip to content

1Panel面板部署

1Panel 是新一代的 Linux 服务器运维管理面板,提供可视化的 Docker 管理功能。本文档将指导您如何通过 1Panel 面板部署 MISEB 系统。

1Panel简介

1Panel 是一款现代化、开源的 Linux 服务器运维管理面板,具有以下特点:

  • 快速建站:集成 OpenResty 和 WordPress 等应用
  • 高效管理:通过可视化界面管理 Docker 容器
  • 安全可靠:提供防火墙和安全审计功能
  • 一键备份:支持网站和数据库的备份与恢复

第一步:安装1Panel

在线安装(推荐)

bash
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

安装过程中会显示:

  • 面板访问地址
  • 默认用户名
  • 默认密码

重要

请务必记录这些信息!首次登录后请修改默认密码。

安装完成后

  1. 通过浏览器访问 http://服务器IP:1Panel端口
  2. 使用安装时显示的用户名和密码登录
  3. 首次登录后建议修改默认密码

第二步:配置Docker

2.1 验证Docker安装

1Panel安装时已自动安装Docker,验证安装:

  1. 进入 主机 > 终端
  2. 执行以下命令:
bash
docker --version
docker compose version

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

  1. 进入 容器 > 配置
  2. 或通过终端配置:
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. 进入 /opt 目录
  3. 创建 miseb 文件夹
  4. 上传 miseb-deploy.tar.gz 部署包
  5. 右键解压

3.2 目录结构

解压后目录结构:

/opt/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 复制配置文件

通过1Panel文件管理器或终端:

bash
cd /opt/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仓库

在1Panel终端执行:

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
  • 此为只读账户,仅用于拉取镜像

第六步:启动服务

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

通过1Panel终端执行:

bash
cd /opt/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 /opt/miseb/deploy

# 拉取镜像
docker compose pull

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

# 查看状态
docker compose ps

方式三:使用1Panel容器编排

  1. 进入 容器 > 编排
  2. 点击 创建编排
  3. 选择 从Compose文件创建
  4. 选择 /opt/miseb/deploy/docker-compose.yml
  5. 点击 部署

6.1 验证启动

在1Panel中查看:

  1. 进入 容器 > 容器列表
  2. 确认以下容器状态为 运行中

基础设施容器:

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

应用容器:

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

或通过终端验证:

bash
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

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

说明

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

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

7.1 创建网站

  1. 进入 网站 > 网站
  2. 点击 创建网站 > 反向代理
  3. 配置:
    • 主域名:您的域名
    • 代理地址:http://127.0.0.1:80

7.2 端口冲突处理

如果1Panel的OpenResty占用了80端口,有两种解决方案:

方案一:修改MISEB的Nginx端口

修改 .env 文件:

bash
HTTP_PORT=8088

然后重启应用服务:

bash
docker compose up -d

1Panel代理地址改为:http://127.0.0.1:8088

方案二:停止1Panel的OpenResty,使用MISEB Nginx

bash
# 在1Panel应用商店中停止OpenResty
# MISEB Nginx将接管80端口

7.3 配置SSL证书(推荐)

  1. 在网站设置中,进入 HTTPS
  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
商户管理端需先入驻-

安全提示

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

日常运维

查看容器状态

  1. 进入 容器 > 容器列表
  2. 可以查看所有容器的运行状态、CPU、内存使用情况

查看日志

方式一:通过1Panel界面

  1. 进入 容器 > 容器列表
  2. 点击容器的 日志 图标
  3. 实时查看容器日志

方式二:通过终端

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

停止服务

bash
cd /opt/miseb/deploy

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

# 或手动停止
docker compose down

重启服务

方式一:通过1Panel界面

  1. 在容器列表中选择容器
  2. 点击 重启 按钮

方式二:通过终端

bash
cd /opt/miseb/deploy

# 重启所有服务
docker compose restart

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

更新应用

bash
cd /opt/miseb/deploy

# 拉取新镜像
docker compose pull

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

备份数据

使用1Panel计划任务

  1. 进入 计划任务
  2. 点击 创建计划任务
  3. 选择 Shell脚本
  4. 脚本内容:
bash
#!/bin/bash
BACKUP_DIR=/opt/backup/miseb
mkdir -p $BACKUP_DIR

# 备份MySQL
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数据目录
/opt/miseb/deploy/minio-data/

常见问题

启动脚本报错 required file not found

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

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

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

端口被占用

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

防火墙设置

确保在1Panel 主机 > 防火墙 中放行以下端口:

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

部署架构说明

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前端静态资源和反向代理

下一步

成都艾唯特软件有限公司