💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
  • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
  • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
  • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
  • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
  • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
  • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨


博客目录
  • 前言
  • 1. Docker 部署 Halo
  • 1.1 检查 Docker 版本
  • 如果未安装 Docker 可参考
  • 已安装 Docker 步骤:
  • 1.2 在 Docker 中部署 Halo
  • 2. Linux 安装 Cpolar
  • 2.1 打开服务器防火墙
  • 2.2 安装 cpolar 内网穿透
  • 3. 配置 Halo 个人博客公网地址
  • 4. 固定 Halo 公网地址


前言

本文主要介绍如何在 CentOS 7 系统使用 Docker 部署 Halo 个人博客,并结合 cpolar 内网穿透工具实现公网远程访问本地搭建的网站。

Halo 是一款基于 Java 的开源建站工具,具有简单易用、灵活性高、插件丰富等优点。可以做博客的软件平台有很多,像大家熟知的 WordPress 、Hexo、Typecho,对于计算机专业的人来说,他们会根据自己的需求选择适合的平台,但对于小白来说 Halo 虽然没有功能没有老牌的博客平台那么全面,但是操作简单,博客界面也很简洁美观。

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_运维_02


真人女 up 分享如何快速本地部署一个简洁美观的个人 Halo 博客网站


1. Docker 部署 Halo

1.1 检查 Docker 版本
  • **本地环境操作系统:**CentOS 7 安装 Docker
如果未安装 Docker 可参考

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

$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 1.
  • 2.

安装 Docker 引擎

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 1.

启动 Docker

sudo systemctl start docker
  • 1.

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

sudo docker run hello-world
  • 1.
已安装 Docker 步骤:
  • 启动 Docker:
systemctl status docker
  • 1.
  • 检查 docker 版本
docker -v
  • 1.
  • **检查 docker compose 版本:**确保 2.0 以上版本
docker compose version
  • 1.
  • **下载 Halo 镜像:**在 docker hub 下载 Halo-V2.10 版本镜像
docker pull halohub/halo:2.10
  • 1.

PS:如果拉取不到镜像,可以在终端执行 nano /etc/docker/daemon.json

输入:

{
“registry-mirrors”: [

“https://do.nark.eu.org”,
“https://dc.j8.work”,
“https://docker.m.daocloud.io”,
“https://dockerproxy.com”,
“https://docker.mirrors.ustc.edu.cn”,
“https://docker.nju.edu.cn”
]
}

保存退出

然后执行:sudo systemctl restart docker

1.2 在 Docker 中部署 Halo
  • 创建挂载目录
mkdir -p /data/halo && cd /data/halo
  • 1.

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_运维_03

  • 创建 Halo 容器:

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

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

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_tcp/ip_04

  • 查看 halo 容器状态:检查 halo 容器状态,确保 halo 容器正常启动
docker ps
  • 1.

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_05

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_06

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

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

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_tcp/ip_07

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_docker_08

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_Docker_09

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_Docker_10

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_运维_11

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_12

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

2. Linux 安装 Cpolar

2.1 打开服务器防火墙

启动防火墙

systemctl start firewalld
  • 1.

查看防火墙状态

systemctl status firewalld
  • 1.

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

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

重新载入

firewall-cmd --reload
  • 1.

查看

firewall-cmd --zone=public --list-ports
  • 1.
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 | sudo bash
  • 1.
  • 向系统添加服务
sudo systemctl enable cpolar
  • 1.
  • 启动 cpolar 服务
sudo systemctl start cpolar
  • 1.

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_tcp/ip_13

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

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

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

点击创建

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_运维_14

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_docker_15

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_docker_16

小结

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

4. 固定 Halo 公网地址

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

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

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_Docker_17

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_tcp/ip_18

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_19

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

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

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_20

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_运维_21

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

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_linux_22

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问_tcp/ip_23