/ docs / quick-start

快速开始

使用 install.sh 一键部署 HmwCard 何慕雯发卡系统

本指南介绍如何使用官方 install.sh 一键部署脚本,在 10 分钟内完成 HmwCard 何慕雯发卡系统的生产环境部署。

前置要求

项目要求
操作系统CentOS 7+ / Ubuntu 18.04+ / Debian 10+ / Fedora
权限root 用户或具有 sudo 权限的用户
内核版本≥ 3.10(cgroup v2 建议 ≥ 5.10)
内存≥ 1GB(推荐 2GB+)
磁盘≥ 20GB 可用空间
域名SSL 部署需要一个已解析到服务器的域名

部署模式

脚本支持三种部署模式,根据需求选择:

模式说明适用场景
Docker + SSL(推荐)全自动 Docker 部署,自动申请 Let’s Encrypt 证书生产环境
Docker + HTTPDocker 部署,不申请证书本地测试、无域名环境
PM2 本地部署不依赖 Docker,直接运行 Node.js无 Docker 环境的服务器

一键安装

步骤 1:获取源码

cd /var/www/wwwroot
git clone https://github.com/iGewen/hmwfaka-website.git hmwcard
cd hmwcard

步骤 2:运行安装脚本

bash install.sh

步骤 3:选择部署模式

脚本启动后会显示交互式菜单:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│   🐳  [1] Docker 部署 (含自动 SSL 证书)              推荐   │
│      自动化程度最高,一键完成全部配置                        │
│                                                             │
│   🟡  [2] Docker 部署 (HTTP 模式,无 SSL)                   │
│      适合本地测试或无域名场景                                │
│                                                             │
│   📦  [3] PM2 本地部署 (无容器,直接运行)                    │
│      适合无 Docker 环境的服务器                              │
│                                                             │
│   🔴  [4] 退出                                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

输入 1 选择推荐的 Docker + SSL 模式。

步骤 4:填写配置信息

根据提示依次输入:

配置项说明默认值
域名用于 SSL 证书申请,需已解析到服务器 IP必填
邮箱用于 SSL 证书申请和通知admin@域名
MySQL Root 密码留空自动生成强密码自动随机
数据库名MySQL 数据库名称hmwcard
数据库用户MySQL 用户名hmwcard
数据库密码留空自动生成自动随机
Redis 密码留空自动生成自动随机
管理员用户名后台登录账号admin
管理员密码自动生成,首次登录后强制修改自动随机

提示:密码类字段建议留空,脚本会自动生成强密码。所有密码会在安装完成后显示并保存到 INSTALL_INFO.txt

步骤 5:等待部署完成

脚本会自动执行以下操作:

  1. 检查系统环境(内核版本、Docker 状态等)
  2. 自动安装 Docker 和 Docker Compose(如未安装)
  3. 配置 Docker 镜像加速(国内服务器自动使用阿里云镜像源)
  4. 拉取并构建服务镜像
  5. 启动 MySQL、Redis、后端、前端等服务
  6. 等待 MySQL 就绪后执行数据库迁移
  7. 初始化业务数据种子
  8. 申请 Let’s Encrypt SSL 证书(SSL 模式)

部署完成后会显示:

  ════════════════════════════════════════════════════
   🚀  安装完成!  🚀
  ════════════════════════════════════════════════════

  🎯 访问地址
      前台: https://your-domain.com
      后台: https://your-domain.com/admin/login

  🔒 管理员账号
      账号: admin
      密码: xxxxxxxx

  🔐 数据库密码
      MySQL(hmwcard): xxxxxxxx
      Redis: xxxxxxxx

部署后的服务

Docker + SSL 模式部署的容器:

容器名镜像说明
hmwcard-mysqlmysql:8.0MySQL 数据库
hmwcard-redisredis:7.4-alpineRedis 缓存
hmwcard-backendhmwcard-backend:latestNode.js 后端
hmwcard-frontendhmwcard-frontend:latest前端 Nginx
hmwcard-nginx-proxyjwilder/nginx-proxy反向代理
hmwcard-acmenginxproxy/acme-companion自动 SSL 证书

常用管理命令

# 进入项目目录
cd /var/www/wwwroot/hmwcard

# 查看所有服务状态
docker compose -p hmwcard ps

# 查看日志
docker compose -p hmwcard logs -f

# 查看后端日志
docker compose -p hmwcard logs -f hmwcard-backend

# 停止服务
docker compose -p hmwcard -f docker-compose.yml -f docker-compose.ssl.yml down

# 启动服务
docker compose -p hmwcard -f docker-compose.yml -f docker-compose.ssl.yml up -d

# 重启后端
docker compose -p hmwcard restart hmwcard-backend

升级版本

cd /var/www/wwwroot/hmwcard
git pull
bash install.sh
# 选择相同模式,脚本会检测已有配置并保留密码

注意事项

域名解析

SSL 模式要求域名 提前解析到服务器 IP,否则 Let’s Encrypt 证书申请会失败。

端口开放

确保服务器防火墙开放以下端口:

端口用途
22SSH 远程管理
80HTTP(SSL 证书申请必需)
443HTTPS

阿里云 ACR 镜像加速

国内服务器拉取 Docker Hub 镜像可能较慢或失败。脚本会询问是否配置阿里云 ACR(容器镜像服务),如有阿里云 ACR 实例可填入信息加速镜像拉取。没有则直接回车跳过。

Swap 内存

如果服务器内存 ≤ 2GB,脚本会自动检测并建议配置 Swap 虚拟内存,防止构建时内存不足。

安装中断恢复

如果安装过程中意外中断(如 SSH 断开),重新运行 bash install.sh 会检测到上次的配置状态,询问是否恢复继续安装。

密码保管

安装完成后务必保存 INSTALL_INFO.txt 中的密码信息,文件包含数据库密码、管理员密码等敏感信息。

下一步

  • 支付对接 — 配置微信支付、支付宝、PayPal、Stripe
  • 常见问题 — 运维中的高频问题和解决方案
  • 系统简介 — 了解 HmwCard 的核心能力和适用场景