news 2026/2/9 7:16:43

从零搭建专属博客!Halo+cpolar 让新手也能轻松享公网访问

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零搭建专属博客!Halo+cpolar 让新手也能轻松享公网访问

文章目录

    • 前言
    • 1. Docker部署Halo
      • 1.1 检查Docker版本
      • 如果未安装Docker可参考:
      • 已安装Docker步骤:
      • 1.2 在Docker中部署Halo
    • 2. Linux安装Cpolar
      • 2.1 打开服务器防火墙
      • 2.2 安装cpolar内网穿透
    • 3. 配置Halo个人博客公网地址
    • 4. 固定Halo公网地址
        • 通过 Halo 搭建内容载体,借助 cpolar 打破网络限制,两者结合为个人博客提供了从搭建到分享的完整解决方案,让普通人也能低成本拥有自己的公网博客平台。

前言

Halo 是一款主打轻量化的开源博客系统,自带可视化编辑界面,支持主题切换、插件扩展等功能,无论是学生记录学习笔记、博主分享生活感悟,还是开发者展示技术成果都很合适。它的优点在于操作简单,无需编程基础也能快速上手,而且通过 Docker 部署能大幅减少环境配置的麻烦。

使用 Halo 时,建议先规划好博客的栏目分类,初期可以从简单的主题开始,熟悉后再尝试自定义样式。需要注意的是,本地部署后数据只存在于服务器中,定期备份很重要。

不过,仅在局域网内使用 Halo 有不少局限。比如想把文章分享给异地的朋友,对方无法直接访问;团队协作编辑内容时,必须在同一网络环境下操作,灵活性大打折扣。

而将 Halo 与 cpolar 结合后,这些问题迎刃而解。cpolar 的内网穿透功能能把本地博客映射到公网,生成可直接访问的公网地址,无需购买云服务器或备案域名,无论是在家、公司还是户外,只要有网络就能管理和分享博客内容,大大提升了使用便利性。

本篇文章介绍如何在CentOS下使用Docker部署开源建站工具Halo,并结合cpolar内网穿透工具实现个人博客的公网访问。

1. Docker部署Halo

1.1 检查Docker版本

  • **本地环境操作系统:**CentOS 7 安装Docker

    如果未安装Docker可参考:

    安装软件包(提供实用程序)并设置存储库

    $sudoyuminstall-y yum-utils $sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker引擎

    sudoyuminstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    sudo systemctl start docker

    通过运行映像来验证 Docker 引擎安装是否成功

    sudodocker run hello-world

已安装Docker步骤:

  • 启动Docker:
systemctl start docker
  • 检查docker版本
docker -v
  • **检查docker compose版本:**确保2.0以上版本
docker compose version
  • **下载Halo镜像:**在docker hub下载Halo-V2.10版本镜像
docker pull halohub/halo:2.10

1.2 在Docker中部署Halo

  • 创建挂载目录
mkdir-p /data/halo&&cd/data/halo

  • 创建Halo容器:

Halo 2与1.x 版本不兼容;

此命令默认使用自带的 H2 Database 数据库,另外可以额外单独使用Mysql数据库进行连接。

docker run -it -d --name halo -p8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:2.10

  • 查看halo容器状态:检查halo容器状态,确保halo容器正常启动
dockerps

  • 检查halo容器日志:检查halo容器运行日志,确保halo服务正常启动。
docker logs halo

  • 查看本地IP地址
ifconfig
  • 进入Halo初始化页面

访问地址:http://192.168.149.142:8090/console/setup,将IP替换为自己服务器IP地址。

**站点名称:**myweb
**邮箱:**admin@qq.com
**用户名:**admin
**密码:**自定义
点击初始化即可

  • **登录Halo:**输入账号和密码,登录halo,进入到仪表盘界面

接下来举个例子我们创作一篇文章,在Halo后台管理页面,文章模块,点击“新建”

编辑完文章后,点击发布,将文章进行发布,在文章列表中即可看到发布过的文章

接下来本地浏览器访问http://192.168.149.142:8090/,本地服务器IP:8089,看到halo前台首页已经成功显示发布文章

我们成功在本地部署了Halo,通过访问挂载的8089端口即可看到Halo首页界面,并创作了第一篇文章,如果我们想把创作好的个人博客发布至公网分享给身边人点击查看,那么就需要借助cpolar内网穿透工具了,接下来我们安装cpolar内网穿透工具,实现无公网环境远程访问!

2. Linux安装Cpolar

2.1 打开服务器防火墙

启动防火墙

systemctl start firewalld

查看防火墙状态

systemctl status firewalld

centos7 防火墙添加端口:【单个】

firewall-cmd --zone=public --add-port=9200/tcp --permanent

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --list-ports

2.2 安装cpolar内网穿透

上面在本地Docker中成功部署了Halo,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl-L https://www.cpolar.com/static/downloads/install-release-cpolar.sh|sudobash
  • 向系统添加服务
sudosystemctlenablecpolar
  • 启动cpolar服务
sudosystemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

3. 配置Halo个人博客公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Halo的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8090 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Halo首页界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!

小结

如果我们需要把自己的个人博客长期发布至公网,分享给别人查看,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道,可以选择创建一个固定的http地址来解决这个问题。

4. 固定Halo公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以把个人博客分享给其他人了!

通过 Halo 搭建内容载体,借助 cpolar 打破网络限制,两者结合为个人博客提供了从搭建到分享的完整解决方案,让普通人也能低成本拥有自己的公网博客平台。

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

  1. cpolar博客:配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 6:07:35

Qwen-Image-Edit-2509:用语言编辑图像的AI神器

Qwen-Image-Edit-2509:用语言编辑图像的AI神器 🎯🖼️ 你有没有试过这样一种操作? “把这张图里的旧LOGO删了,换成新品牌标识,文字颜色调成和背景协调的浅灰,再在右上角加个‘限时抢购’的红色飘…

作者头像 李华
网站建设 2026/2/4 13:27:54

微爱帮监狱写信寄信小程序阿里云百炼Paraformer-v2方言语音识别集成技术文档,服刑人员家属写信更方便

一、项目背景与目标1.1 背景微爱帮作为服务特殊群体家属的通信平台,发现许多家属(特别是年长者或文化程度有限的用户)在写信时面临输入困难。为解决这一问题,我们决定集成语音识别技术,让用户通过方言直接"说&quo…

作者头像 李华
网站建设 2026/2/7 21:37:03

M1 Mac使用Miniconda安装Python3.8与TensorFlow2.5/PyTorch1.8

M1 Mac 搭建原生 ARM64 AI 开发环境:Miniconda Python 3.8 TensorFlow 2.5 PyTorch 1.8 在苹果推出搭载 M1 芯片的 Mac 后,开发者迎来了前所未有的能效比和本地算力。然而,由于架构从 x86_64 迁移到 ARM64,许多依赖底层编译的…

作者头像 李华
网站建设 2026/2/9 3:34:13

PaddleOCR多语言识别配置:使用markdown编写结构化训练说明文档

PaddleOCR多语言识别配置:使用Markdown编写结构化训练说明文档 在企业数字化转型的浪潮中,文档自动化处理正成为提升效率的关键环节。尤其是在金融票据识别、跨境物流单据解析、政府档案电子化等场景下,系统不仅要准确提取中文文本&#xff0…

作者头像 李华
网站建设 2026/2/6 6:20:03

c++14 四种互斥锁

在C14中,标准库提供了四种互斥锁类型,它们均定义在头文件中,用于多线程编程中保护共享资源,防止数据竞争。以下是具体分类及示例说明: std::mutex(基础互斥锁) 功能:最基本的互斥锁…

作者头像 李华
网站建设 2026/2/6 2:23:50

LangFlow中Agent决策链的可视化呈现方式

LangFlow中Agent决策链的可视化呈现方式 在构建智能对话系统时,你是否曾为调试一个不调用工具的Agent而翻遍日志?是否经历过因上下文丢失导致的回答断裂,却难以定位问题源头?随着大语言模型(LLM)驱动的Agen…

作者头像 李华