<div class="markdown_views prism-atom-one-dark" id="content_views">
<svg style="display: none;" xmlns="http://www.w3.org/2000/svg">
<path d="M5,0 0,2.5 5,5z" id="raphael-marker-block" stroke-linecap="round" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p><img alt="在这里插入图片描述" height="80" src="https://img-blog.csdnimg.cn/b7e39c0675d142719788e5db6beb8bbc.png#pic_center" width="80"><br/> <font color="#2B04AD"><strong>个人主页:</strong></font><a href="https://blog.csdn.net/2301_80026901?spm=1011.2415.3001.5343">聆风吟</a><br/> <font color="#FF0000"><strong>系列专栏:</strong></font><a href="https://blog.csdn.net/2301_80026901/category_12489432.html">网络奇遇记</a>、<a href="https://blog.csdn.net/2301_80026901/category_12465181.html">数据结构</a><br/> <font color="#16C4B4"><strong>少年有梦不应止于心动,更要付诸行动。</strong></font></img></p>
<hr/>
<p></p>
<div class="toc">
<h4>文章目录</h4>
<ul><li><a href="#_10" rel="nofollow">前言</a></li><li><a href="#_DockerHalo_22" rel="nofollow">一. Docker部署Halo</a></li><li><ul><li><a href="#11_Docker_24" rel="nofollow">1.1 检查Docker版本</a></li><li><a href="#12_DockerHalo_83" rel="nofollow">1.2 在Docker中部署Halo</a></li></ul>
</li><li><a href="#__LinuxCpolar_164" rel="nofollow">二. Linux安装Cpolar</a></li><li><ul><li><a href="#21__166" rel="nofollow">2.1 打开服务器防火墙</a></li><li><a href="#22_cpolar_200" rel="nofollow">2.2 安装cpolar内网穿透</a></li></ul>
</li><li><a href="#_Halo_234" rel="nofollow">三. 配置Halo个人博客公网地址</a></li><li><a href="#_Halo_262" rel="nofollow">四. 固定Halo公网地址</a></li><li><a href="#_302" rel="nofollow">全文总结</a></li></ul>
</div>
<p></p>
<h2><a id="_10"></a>前言</h2>
<p>本篇文章介绍如何在CentOS下使用Docker部署开源建站工具Halo,并结合cpolar内网穿透工具实现个人博客的公网访问。</p>
<p>Halo是一款基于Java的开源建站工具,具有简单易用、灵活性高、插件丰富等优点。可以做博客的软件平台有很多,像大家熟知的 WordPress 、Hexo、Typecho,对于计算机专业的人来说,他们会根据自己的需求选择适合的平台,但对于小白来说Halo虽然没有功能没有老牌的博客平台那么全面,但是 *** 作简单,博客界面也很简洁美观。</p>
<p><img alt="0b78a413f513086c5dd5095f540f9fd" src="https://img-blog.csdnimg.cn/img_convert/744e9732bdaf2660f1fe772c6f84dd70.png#pic_center"/></p>
<hr/>
<br/>
<h2><a id="_DockerHalo_22"></a>一. Docker部署Halo</h2>
<h3><a id="11_Docker_24"></a>1.1 检查Docker版本</h3>
<ul><li>本地环境 *** 作系统:CentOS 7 安装Docker</li></ul>
<p><mark>如果未安装Docker可参考:</mark></p>
<p>安装软件包(提供实用程序)并设置存储库</p>
<pre><p style='background-color:black;color:white;padding:12px;'>$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
</p></pre>
<p>安装Docker引擎</p>
<pre><p style='background-color:black;color:white;padding:12px;'>sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
</p></pre>
<p>启动Docker</p>
<pre><p style='background-color:black;color:white;padding:12px;'>sudo systemctl start docker
</p></pre>
<p>通过运行映像来验证 Docker 引擎安装是否成功</p>
<pre><p style='background-color:black;color:white;padding:12px;'>sudo docker run hello-world
</p></pre>
<p><mark>已安装Docker步骤:</mark></p>
<ul><li><strong>启动Docker:</strong></li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'> systemctl status docker
</p></pre>
<ul><li><strong>检查docker版本</strong></li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>docker -v
</p></pre>
<ul><li><strong>检查docker compose版本:</strong> 确保2.0以上版本</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>docker compose version
</p></pre>
<ul><li><strong>下载Halo镜像:</strong> 在docker hub下载Halo-V2.10版本镜像</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>docker pull halohub/halo:2.10
</p></pre>
<br/>
<h3><a id="12_DockerHalo_83"></a>1.2 在Docker中部署Halo</h3>
<ul><li><strong>创建挂载目录</strong></li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>mkdir -p /data/halo && cd /data/halo
</p></pre>
<p><img alt="07a005be5cd19fdf5a377210cf5cc4c" src="https://img-blog.csdnimg.cn/img_convert/c385eab7b36aa267e4b632f6e1035294.png"/></p>
<ul><li><strong>创建Halo容器:</strong></li></ul>
<p>Halo 2与1.x 版本不兼容;</p>
<p>此命令默认使用自带的 H2 Database 数据库,另外可以额外单独使用Mysql数据库进行连接。</p>
<pre><p style='background-color:black;color:white;padding:12px;'>docker run -it -d --name halo -p 8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:2.10
</p></pre>
<p><img alt="dd6d2a9d946f02352574cd914fe3413" src="https://img-blog.csdnimg.cn/img_convert/0b3b5fedc728b0bcb43912113a1f6e09.png"/></p>
<ul><li><strong>查看halo容器状态</strong>:检查halo容器状态,确保halo容器正常启动</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>docker ps
</p></pre>
<p><img alt="0e79a5a0e6b242e6a6e73543831ccd7" src="https://img-blog.csdnimg.cn/img_convert/dbf23f37532b088fa0c77b4ab5885885.png"/></p>
<ul><li><strong>检查halo容器日志:</strong> 检查halo容器运行日志,确保halo服务正常启动。</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>docker logs halo
</p></pre>
<p><img alt="d2379dad6f69ba006bea146afc6b874" src="https://img-blog.csdnimg.cn/img_convert/e1900edbf145f57eb2b302898c30f954.png"/></p>
<ul><li><strong>查看本地IP地址</strong></li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>ifconfig
</p></pre>
<ul><li><strong>进入Halo初始化页面</strong></li></ul>
<blockquote>
<p>访问地址:http://192.168.149.142:8090/console/setup,将IP替换为自己服务器IP地址。</p>
</blockquote>
<p><strong>站点名称:</strong> myweb<br/> <strong>邮箱:</strong> admin@qq.com<br/> <strong>用户名:</strong> admin<br/> <strong>密码:</strong> 自定义<br/> 点击初始化即可</p>
<p><img alt="a0f433681aae3d111b7523508784e38" src="https://img-blog.csdnimg.cn/img_convert/b8d2a9d998b02b1cec94d82e409e3832.png#pic_center"/></p>
<ul><li><strong>登录Halo:</strong> 输入账号和密码,登录halo,进入到仪表盘界面</li></ul>
<p><img alt="e05facc1f24d0ea066d9a9757fd4fe8" src="https://img-blog.csdnimg.cn/img_convert/30667fd15033af20e6edac8c5dc22288.png#pic_center"/></p>
<p><img alt="4e37c2c4e250ebfa4bc69eb97dc3b6b" src="https://img-blog.csdnimg.cn/img_convert/0fd45c6ce257f7dbc69867a4d32859b3.png#pic_center"/></p>
<p>接下来举个例子我们创作一篇文章,在Halo后台管理页面,文章模块,点击“新建”</p>
<p><img alt="05f5f06359138c94a5dd5e9e743b14b" src="https://img-blog.csdnimg.cn/img_convert/ad316936ce34d0c703d3bfbc40011ba8.png#pic_center"/></p>
<p>编辑完文章后,点击发布,将文章进行发布,在文章列表中即可看到发布过的文章</p>
<p><img alt="c5d2a7df807cf778f743226dc7f93a3" src="https://img-blog.csdnimg.cn/img_convert/80df747b87ede2dd16c118592abbf8f3.png#pic_center"/></p>
<p>接下来本地浏览器访问http://192.168.149.142:8090/,本地服务器IP:8089,看到halo前台首页已经成功显示发布文章</p>
<p><img alt="e7b8f9a91bbcd888d9c8c36f331f587" src="https://img-blog.csdnimg.cn/img_convert/7cef7d32294ce95127c850a2d1a8fade.png#pic_center"/></p>
<p>我们成功在本地部署了Halo,通过访问挂载的8089端口即可看到Halo首页界面,并创作了第一篇文章,如果我们想把创作好的个人博客发布至公网分享给身边人点击查看,那么就需要借助cpolar内网穿透工具了,接下来我们安装cpolar内网穿透工具,实现无公网环境远程访问!</p>
<hr/>
<br/>
<h2><a id="__LinuxCpolar_164"></a>二. Linux安装Cpolar</h2>
<h3><a id="21__166"></a>2.1 打开服务器防火墙</h3>
<p>启动防火墙</p>
<pre><p style='background-color:black;color:white;padding:12px;'>systemctl start firewalld
</p></pre>
<p>查看防火墙状态</p>
<pre><p style='background-color:black;color:white;padding:12px;'>systemctl status firewalld
</p></pre>
<p>centos7 防火墙添加端口:【单个】</p>
<pre><p style='background-color:black;color:white;padding:12px;'>firewall-cmd --zone=public --add-port=9200/tcp --permanent
</p></pre>
<p>重新载入</p>
<pre><p style='background-color:black;color:white;padding:12px;'>firewall-cmd --reload
</p></pre>
<p>查看</p>
<pre><p style='background-color:black;color:white;padding:12px;'>firewall-cmd --zone=public --list-ports
</p></pre>
<br/>
<h3><a id="22_cpolar_200"></a>2.2 安装cpolar内网穿透</h3>
<p>上面在本地Docker中成功部署了Halo,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤</p>
<blockquote>
<p>cpolar官网地址: <a href="https://www.cpolar.com" rel="nofollow">https://www.cpolar.com</a></p>
</blockquote>
<ul><li>使用一键脚本安装命令</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
</p></pre>
<ul><li>向系统添加服务</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>sudo systemctl enable cpolar
</p></pre>
<ul><li>启动cpolar服务</li></ul>
<pre><p style='background-color:black;color:white;padding:12px;'>sudo systemctl start cpolar
</p></pre>
<p>cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可</p>
<p><img alt="" src="https://img-blog.csdnimg.cn/img_convert/0086ad12c85f61f34e3263669f0dca5b.png#pic_center"/></p>
<h2><a id="_Halo_234"></a>三. 配置Halo个人博客公网地址</h2>
<p>点击左侧仪表盘的隧道管理——创建隧道,创建一个Halo的公网http地址隧道!</p>
<ul><li>隧道名称:可自定义命名,注意不要与已有的隧道名称重复</li><li>协议:选择http</li><li>本地地址:8090 (本地访问的地址)</li><li>域名类型:免费选择随机域名</li><li>地区:选择China</li></ul>
<p>点击<p style='background-color:black;color:white;padding:12px;'>创建</p></p>
<p><img alt="51428fa8d798a6f09244ff9567aa312" src="https://img-blog.csdnimg.cn/img_convert/0ab644fa1f3b63573955623ee3a52be5.png#pic_center"/></p>
<p>隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https</p>
<p><img alt="d8fb5e5727a167bc7a527fbebfbd944" src="https://img-blog.csdnimg.cn/img_convert/18409421b2df20bc39e6e9a997f53375.png#pic_center"/></p>
<p>使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Halo首页界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!</p>
<p><img alt="image-20240109105141668" src="https://img-blog.csdnimg.cn/img_convert/1d37638c9b6fccf27236cf72066fc917.png#pic_center"/></p>
<p><strong>小结</strong></p>
<p>如果我们需要把自己的个人博客长期发布至公网,分享给别人查看,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道,可以选择创建一个固定的http地址来解决这个问题。</p>
<hr/>
<br/>
<h2><a id="_Halo_262"></a>四. 固定Halo公网地址</h2>
<p>我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。</p>
<blockquote>
<p>配置固定http端口地址需要将cpolar升级到专业版套餐或以上。</p>
</blockquote>
<p><a href="https://dashboard.cpolar.com/" rel="nofollow">登录cpolar官网</a>,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称</p>
<p><img alt="bf1dd6a42148579307e2dae72055abc" src="https://img-blog.csdnimg.cn/img_convert/73ea8391ba5148786799c149a5e59fbd.png#pic_center"/></p>
<p>保留成功后复制保留成功的二级子域名的名称</p>
<p><img alt="edd09daaed4aa7183b057b271331157" src="https://img-blog.csdnimg.cn/img_convert/2bc38c898091f6826af689093a8e4d79.png#pic_center"/></p>
<p>返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑</p>
<p><img alt="98b73f50633de7c58fe3484439751ed" src="https://img-blog.csdnimg.cn/img_convert/1c43df286c62e6f49fe8781fe2090217.png#pic_center"/></p>
<p>修改隧道信息,将保留成功的二级子域名配置到隧道中</p>
<ul><li>域名类型:选择二级子域名</li><li>Sub Domain:填写保留成功的二级子域名</li></ul>
<p>点击<p style='background-color:black;color:white;padding:12px;'>更新</p>(注意,点击一次更新即可,不需要重复提交)</p>
<p><img alt="d2eeffd306da1d18e1c98884a2e45fa" src="https://img-blog.csdnimg.cn/img_convert/0d4e9b50a215137bb43cdfd0407a662a.png#pic_center"/></p>
<p>更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名</p>
<p><img alt="d68fa5856079ee39d18b5e909fb6697" src="https://img-blog.csdnimg.cn/img_convert/3a385a207dbf077a4961695dfd528c32.png#pic_center"/></p>
<p>最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以把个人博客分享给其他人了!</p>
<p><img alt="ade1b323d51ab81f7458d0fa22cf9ee" src="https://img-blog.csdnimg.cn/img_convert/90a1950517e167ab7c6bc271e74630c6.png#pic_center"/></p>
<hr/>
<br/>
<h2><a id="_302"></a>全文总结</h2>
<p> 今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,<a href="https://blog.csdn.net/2301_80026901?spm=1011.2415.3001.5343">聆风吟的主页</a>还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!<br/> <img alt="在这里插入图片描述" src="https://img-blog.csdnimg.cn/9d40fce6b10e46c7a6778b5d59bc6fed.gif#pic_center"/></p>
</div>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)