核心内容摘要
国产精品秘糖心传媒
Halo 是一款专注于简化建站流程的工具核心功能是帮助用户快速搭建个人博客或网站无论是零基础的学生、刚入门的内容创作者还是需要展示作品集的设计师都能轻松上手。
它的优点很突出界面设计简洁直观像搭积木一样拖拽就能排版支持 Markdown 编辑和代码高亮插件生态也比较丰富SEO 优化、评论系统等功能一键就能添加相比同类工具学习成本低很多。
用 Halo 建站时能明显感觉到它对新手的友好 —— 不用写代码后台操作逻辑清晰发布文章像发朋友圈一样简单。
不过有个小提醒初次使用时建议先熟悉一下插件管理避免安装过多不必要的插件导致页面加载变慢另外本地部署后最好定期备份数据防止意外丢失。
但 Halo 默认只能在局域网内访问这带来不少麻烦。
比如学生在宿舍搭建的作品集网站想分享给异地的教授查看对方会提示 “无法访问”博主写了篇干货文想让朋友先预览却得让对方连进同一个 WiFi 才行团队协作改网站主题时每次修改都要把文件传给对方效率很低。
而当 Halo 和 cpolar 结合后这些问题就迎刃而解了。
cpolar 作为内网穿透工具能把本地的 Halo 站点 “映射” 到公网生成一个可直接分享的公网地址不用购买云服务器也不用设置复杂的端口和防火墙。
无论是在咖啡厅改文章还是让外地的朋友实时预览网站都能轻松实现而且数据传输全程加密安全性也有保障。
黄金组合最佳拍档的安装教程如下省钱、省时又省力的效率工具还不快去安装本篇文章介绍如何在CentOS下使用Docker部署开源建站工具Halo,并结合cpolar内网穿透工具实现个人博客的公网访问。
Docker部署Halo
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启动Dockersudo systemctl start docker通过运行映像来验证 Docker 引擎安装是否成功sudodockerrun hello-world已安装Docker步骤启动Dockersystemctl startdocker检查docker版本docker-v**检查docker compose版本**确保
0以上版本dockercompose version**下载Halo镜像**在docker hub下载Halo-V
10版本镜像dockerpull halohub/halo:
2.
1
2 在Docker中部署Halo创建挂载目录mkdir-p /data/halocd/data/halo创建Halo容器:Halo 2与
x 版本不兼容此命令默认使用自带的 H2 Database 数据库另外可以额外单独使用Mysql数据库进行连接。
dockerrun -it -d --name halo -p8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:
10查看halo容器状态检查halo容器状态确保halo容器正常启动dockerps检查halo容器日志:检查halo容器运行日志确保halo服务正常启动。
dockerlogs halo查看本地IP地址ifconfig进入Halo初始化页面访问地址http://
192.
168.
1
142:8090/console/setup将IP替换为自己服务器IP地址。
**站点名称**myweb**邮箱**adminqq.com**用户名**admin**密码**自定义点击初始化即可**登录Halo**输入账号和密码登录halo进入到仪表盘界面接下来举个例子我们创作一篇文章在Halo后台管理页面文章模块点击“新建”编辑完文章后点击发布将文章进行发布在文章列表中即可看到发布过的文章接下来本地浏览器访问http://
192.
168.
1
142:8090/本地服务器IP:8089看到halo前台首页已经成功显示发布文章我们成功在本地部署了Halo通过访问挂载的8089端口即可看到Halo首页界面并创作了
文章如果我们想把创作好的个人博客发布至公网分享给身边人点击查看那么就需要借助cpolar内网穿透工具了接下来我们安装cpolar内网穿透工具实现无公网环境远程访问
Linux安装Cpolar
1 打开服务器防火墙启动防火墙systemctl start firewalld查看防火墙状态systemctl status firewalldcentos7 防火墙添加端口【单个】firewall-cmd --zonepublic --add-port9200/tcp --permanent重新载入firewall-cmd --reload查看firewall-cmd --zonepublic --list-ports
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 cpolarcpolar安装成功后在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可
配置Halo个人博客公网地址点击左侧仪表盘的隧道管理——创建隧道创建一个Halo的公网http地址隧道!隧道名称可自定义命名注意不要与已有的隧道名称重复协议选择http本地地址8090 (本地访问的地址)域名类型免费选择随机域名地区选择China点击创建隧道创建成功后点击左侧的状态——在线隧道列表,查看所生成的公网访问地址有两种访问方式,一种是http 和https使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Halo首页界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问小结如果我们需要把自己的个人博客长期发布至公网分享给别人查看由于刚才创建的是随机的地址24小时会发生变化。
另外它的网址是由随机字符生成不容易记忆。
如果想把域名变成固定的二级子域名并且不想每次都重新创建隧道可以选择创建一个固定的http地址来解决这个问题。
固定Halo公网地址我们接下来为其配置固定的HTTP端口地址该地址不会变化方便分享给别人长期查看你的博客而无需每天重复修改服务器地址。
配置固定http端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网点击左侧的预留选择保留二级子域名设置一个二级子域名名称点击保留,保留成功后复制保留的二级子域名名称保留成功后复制保留成功的二级子域名的名称返回登录Cpolar web UI管理界面点击左侧仪表盘的隧道管理——隧道列表找到所要配置的隧道点击右侧的编辑修改隧道信息将保留成功的二级子域名配置到隧道中域名类型选择二级子域名Sub Domain填写保留成功的二级子域名点击更新(注意,点击一次更新即可,不需要重复提交)更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以把个人博客分享给其他人了Halo 降低了建站的技术门槛cpolar 打破了局域网的限制两者结合让普通人也能低成本、高效率地拥有一个可随时分享的个人网站真正让内容创作回归本身而不是被技术难题困住。
本篇文章知识点来源[cpolar官网][https://www.cpolar.com]cpolar博客配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-namecpolar博客配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-namecpolar博客配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-addresscpolar博客配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address