菜单
本页目录

木雷短网址系统安装指南

🚀 快速开始

DWZ 管理系统采用 Docker 容器化部署,包含以下服务:

  • dwz-server: 后端 API 服务
  • dwz-admin-webui: 前端管理界面

宝塔应用市场安装

宝塔应用市场安装走的静默安装,会使用默认的账号、密码

(PS:环境变量 AUTO_INSTALL=install 是静默安装)

加群获取帮助

📦 安装步骤

1. 创建项目目录

mkdir dwz-admin
cd dwz-admin

2. 创建 Docker Compose 文件

创建 docker-compose.yml 文件:

version: '3.8'

services:
  dwz-server:
    container_name: dwz-server
    image: docker.cnb.cool/mliev/open/dwz-server:latest
    restart: always
    ports:
      - "8080"  # 仅暴露给容器网络
    volumes:
      - "./config/:/app/config/"
    environment:
      - TZ=Asia/Shanghai
      - DATABASE_DRIVER=mysql
      - DATABASE_HOST=mysql
      - DATABASE_PORT=3306
      - DATABASE_DBNAME=dwz
      - DATABASE_USERNAME=root
      - DATABASE_PASSWORD=dwz123456
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - REDIS_PASSWORD=redis123456
      - REDIS_DB=0
#      - AUTO_INSTALL=install
      - GIN_MODE=release
    depends_on:
      mysql:
        condition: service_healthy
      redis:
        condition: service_healthy

  dwz-admin:
    container_name: dwz-admin
    image: docker.cnb.cool/mliev/open/dwz-admin-webui:latest
    restart: always
    ports:
      - "8081:80"
    depends_on:
      dwz-server:
        condition: service_healthy
    environment:
      - TZ=Asia/Shanghai
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80/"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s

  mysql:
    image: mysql:5.7
    container_name: dwz-mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=dwz123456
      - MYSQL_DATABASE=dwz
      - MYSQL_USER=dwz
      - MYSQL_PASSWORD=dwz123456
      - TZ=Asia/Shanghai
    volumes:
      - "./data/mysql_data:/var/lib/mysql"
    ports:
      - "3306"
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "dwz", "-pdwz123456"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s

  redis:
    image: redis:7-alpine
    container_name: dwz-redis
    restart: always
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - "./data/redis_data:/data"
    ports:
      - "6379"
    command: redis-server --requirepass redis123456
    healthcheck:
      test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
      interval: 10s
      timeout: 3s
      retries: 5
      start_period: 10s

3. 创建配置目录

mkdir -p config
chmod 666 ./config

4. 启动服务

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

# 或者前台启动(可以看到日志)
docker-compose up

5. 验证安装

# 检查服务状态
docker-compose ps

# 查看服务日志
docker-compose logs -f

🔧 配置说明

端口配置

  • 前端访问: http://localhost:8081
  • 后端 API: 内部端口 8080(不对外暴露)

数据持久化

  • 配置文件: ./config/ 目录映射到容器的 /app/config/
  • 如需数据持久化,请根据实际需求添加数据卷

环境变量

您可以在 docker-compose.yml 中配置环境变量:

environment:
  - TZ=Asia/Shanghai  # 时区设置
  - ENV=production    # 环境标识
  # 添加其他环境变量...

🎯 使用指南

访问管理界面

  1. 打开浏览器,访问 http://localhost:8081
  2. 首次访问可能需要等待服务完全启动(约 3-6 秒)

常用操作命令

启动服务:

docker-compose up -d

停止服务:

docker-compose down

重启服务:

docker-compose restart

查看日志:

# 查看所有服务日志
docker-compose logs -f

# 查看特定服务日志
docker-compose logs -f dwz-server
docker-compose logs -f dwz-admin-webui

更新服务:

# 拉取最新镜像
docker-compose pull

# 重新启动服务
docker-compose up -d

🔍 故障排除

常见问题

1. 端口被占用

# 检查端口使用情况
netstat -tuln | grep 8081

# 修改 docker-compose.yml 中的端口映射
ports:
  - "8082:80"  # 改为其他端口

2. 服务无法启动

# 查看详细日志
docker-compose logs dwz-server
docker-compose logs dwz-admin-webui

# 检查容器状态
docker-compose ps

3. 镜像拉取失败

# 手动拉取镜像
docker pull docker.cnb.cool/mliev/open/dwz-server:latest
docker pull docker.cnb.cool/mliev/open/dwz-admin-webui:latest

4. 配置文件问题

  • 确保 config/ 目录存在且有正确的权限
  • 检查配置文件格式是否正确

日志查看

# 实时查看日志
docker-compose logs -f --tail=100

# 查看特定时间的日志
docker-compose logs --since="2024-01-01T00:00:00"

重置环境

# 停止并删除容器
docker-compose down

# 清理未使用的镜像(可选)
docker system prune -f

# 重新启动
docker-compose up -d

🛠️ 高级配置

自定义网络

networks:
  dwz-network:
    driver: bridge

services:
  dwz-server:
    networks:
      - dwz-network
  
  dwz-admin-webui:
    networks:
      - dwz-network

资源限制

services:
  dwz-server:
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 1G
        reservations:
          memory: 512M

反向代理配置(Nginx)

如果您使用 Nginx 作为反向代理:

server {
    listen 80;
    server_name your-domain.com;
    
    location / {
        proxy_pass http://localhost:8081;
        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;
    }
}

📞 支持与帮助

如果您在安装过程中遇到问题,请:

  1. 查看本文档的故障排除部分
  2. 检查服务日志获取详细错误信息
  3. 确保系统满足前置条件要求
  4. 联系技术支持团队

🔄 更新日志

  • v1.0.0: 初始版本,支持基本的容器化部署
  • 后续版本更新请关注项目文档

注意: 请确保在生产环境中使用适当的安全配置,包括但不限于防火墙设置、SSL 证书配置等。