使用 blog-tool 一键部署博客系统(10 分钟上线)

2026-06-30 15:49:32
1
1
1,322
6分钟37秒

Tip

系列说明:本文是『自建博客系统教程』系列第 5 篇,配套教程共 13 篇,详见文末导航。

这一篇带您把博客系统真正跑起来。

三个项目澄清:

  • blog-server(后端,镜像分发)+ blog-client(前端,MIT 开源)= 您最终用的"博客"
  • blog-tool(部署工具,MIT 开源)= 帮您把上面两个东西装到服务器上的脚本

普通博主只需要用 blog-tool 即可,不必关心前后端怎么实现。

一、环境前提

请先按 《建站前置条件清单》 准备好:

  • 一台 Debian 13 (Trixie) 或 Ubuntu 24.04 及以上 服务器(x86_64)
  • root 或 sudo 权限
  • 想公网访问:域名 + 备案(国内)+ HTTPS 证书
  • 想做付费:商户资质

ssh 链接参考 如何使用 tabby SSH 连接 Linux

二、下载 blog-tool

国内推荐 OSS:

curl -fsSL -o blog-tool.sh https://demo.jiaopengzi.com/sh/blog-tool.sh

GitHub 用户:

curl -fsSL -o blog-tool.sh https://raw.githubusercontent.com/jiaopengzi/blog-tool/main/dist/blog-tool.sh

脚本下载
脚本下载

三、零交互安装

第一次部署,建议直接使用零交互安装。它会按顺序帮您做完如下操作:

  • 新建运行所需的系统用户
  • 生成自签 SSL 证书
  • 全新安装 Docker(⚠️ 如果机器上已有别的 Docker 业务,请勿选此项,请使用菜单逐项执行)
  • 拉取所有需要的镜像(含 blog-server + blog-client)
  • 初始化并安装数据库(PostgreSQL、Redis、ES)
  • 安装 server + client 服务
  • 注册管理员账户

复制命令后,将如下参数修改为您自己的内容即可。

1、有域名和公网 IP

sudo bash blog-tool.sh --auto \
 --domain=example.com \
 --project_name=blog-server \
 --public_ip=1.2.3.4 \
 --cert=/your/path/cert.pem \
 --cert_key=/your/path/cert.key \
 --admin_username=adminuser \
 --admin_email=adminuser@example.com \
 --admin_password='Password123'

2、本地内网无公网 IP

在本地 wsl 执行命令前,需要将 Windows 宿主机的防火墙入站规则放行 80,443,5426 端口;避免造成 blog-server 启动超时 的错误。

sudo bash blog-tool.sh --auto \
 --admin_username=adminuser \
 --admin_email=adminuser@example.com \
 --admin_password='Password123'

参数说明:

参数 是否必填 说明
--domain 否 访问域名, 不要带 http:// 或 https://
--project_name 否 项目名称, 仅允许字母, 数字, 下划线和短横线
--public_ip 否 当前服务器公网 IPv4 地址
--cert 否 nginx HTTPS 证书文件路径, 提供时必须同时提供 --cert_key
--cert_key 否 nginx HTTPS 私钥文件路径, 提供时必须同时提供 --cert
--admin_username 否 管理员用户名, 提供任一 --admin_* 参数时三项都必须提供
--admin_email 否 管理员邮箱, 提供任一 --admin_* 参数时三项都必须提供
--admin_password 否 管理员密码, 提供任一 --admin_* 参数时三项都必须提供

图片示例中,我们用 test.jiaopengzi.com 来举例。

零交互安装
零交互安装

在安装 docker 的时候,需要耐心等待。

安装 docker
安装 docker

最后看到如下信息,即表示安装成功。可以访问,查看结果。

安装完成
安装完成

部署成功并访问
部署成功并访问

再次查看当前目录时,会多一个 volume 的目录,这是所有数据目录,非常重要。

部署后的目录
部署后的目录

整个一键部署的时间,会依赖网速快慢,一般时间在 5~10 分钟内都能完成。

四、命令面板日常维护

sudo bash blog-tool.sh

执行后,您会看到一个交互式菜单:

交互式菜单
交互式菜单

1. 看日志(排查问题)

08  监控 server 日志  

2. 升级 / 回滚

11  查看 server 版本 
12  查看 client 版本
13  升级或回滚 server
14  升级或回滚 client   

按版本号挑升级 / 回滚,不需要重新部署。

3. 重启服务

09  重启 server 服务
10  重启 client 服务

五、注意事项

  1. 需将域名解析到部署机器公网IP;
  2. 服务器:必须在控制台开放端口(80 / 443)。

配套教程导航

本文是『自建博客系统教程』系列第 5 篇,配套教程共 13 篇。

blogblog