CentOS使用Docker搭建Halo网站并实现无公网ip远程访问

慈云数据 1年前 (2024-03-15) 技术支持 78 0

在这里插入图片描述

🔥博客主页: 小羊失眠啦.

🎥系列专栏:《C语言》 《数据结构》 《C++》 《Linux》 《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公网地址

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

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

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

          0b78a413f513086c5dd5095f540f9fd

          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
            

            安装Docker引擎

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

            启动Docker

            sudo systemctl start docker
            

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

            sudo docker run hello-world
            

            已安装Docker步骤:

          • 启动Docker:

             systemctl status 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
                    

                    07a005be5cd19fdf5a377210cf5cc4c

                    • 创建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
                      

                      dd6d2a9d946f02352574cd914fe3413

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

                        0e79a5a0e6b242e6a6e73543831ccd7

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

                          d2379dad6f69ba006bea146afc6b874

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

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

                              **站点名称:**myweb

                              **邮箱:**admin@qq.com

                              **用户名:**admin

                              **密码:**自定义

                              点击初始化即可

                              a0f433681aae3d111b7523508784e38

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

                                e05facc1f24d0ea066d9a9757fd4fe8

                                4e37c2c4e250ebfa4bc69eb97dc3b6b

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

                                05f5f06359138c94a5dd5e9e743b14b

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

                                c5d2a7df807cf778f743226dc7f93a3

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

                                e7b8f9a91bbcd888d9c8c36f331f587

                                我们成功在本地部署了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 | sudo bash
                                  
                                  • 向系统添加服务
                                    sudo systemctl enable cpolar
                                    
                                    • 启动cpolar服务
                                      sudo systemctl start cpolar
                                      

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

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

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

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

                                        点击创建

                                        51428fa8d798a6f09244ff9567aa312

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

                                        d8fb5e5727a167bc7a527fbebfbd944

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

                                        image-20240109105141668

                                        小结

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

                                        4. 固定Halo公网地址

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

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

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

                                        bf1dd6a42148579307e2dae72055abc

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

                                        edd09daaed4aa7183b057b271331157

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

                                        98b73f50633de7c58fe3484439751ed

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

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

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

                                          d2eeffd306da1d18e1c98884a2e45fa

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

                                          d68fa5856079ee39d18b5e909fb6697

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

                                          ade1b323d51ab81f7458d0fa22cf9ee

                                          在这里插入图片描述

微信扫一扫加客服

微信扫一扫加客服