halo+腾讯云服务器+docker

  1. 配置宝塔面板
  2. 安装 docker
  3. 配置阿里云镜像加速器
  4. 安装 halo2.0
  5. 配置域名
  6. 在宝塔进行反向代理
【参考资源】
https://www.bilibili.com/video/BV1r34y1x72A/
https://www.bilibili.com/video/BV1JN411Q7Na
https://www.bilibili.com/video/BV1fo4y1N7gK
https://blog.laoda.de/archives/docker-compose-install-halo-version-2

配置宝塔面板

  1. 购买腾讯云服务器:宝塔面板

  2. 配置宝塔面板,设置 8888 端口

    在服务器>>宝塔面板>>应用信息里面

    面板端口默认为 8888 端口,需要前往防火墙页面放行面板端口


  3. 登录宝塔面板并且安装相关软件

    在服务器>>宝塔面板>>应用信息里面

    点击登录按钮后,直接一键免密登录就可以了

    在免密登录之后,进入到宝塔的命令行面板, 运行如下命令

    $ sudo /etc/init.d/bt default
    

    就可以得到宝塔面板的登录的:username:和 password:

    密码和用户名最好记下来

    登录之后就可以安装软件了,选择编译安装

安装 docker

  • Docker 安装文档:https://docs.docker.com/engine/install/

  • 安装步骤:

    # 设置仓库
    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
    # hello world
    sudo docker run hello-world
    # 如果成功;会打印出如下内容
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    2db29710123e: Pull complete
    Digest: sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
  • 实际上 Docker 在宝塔面板的软件商城就可以直接安装

配置阿里云镜像加速器

  • 在运行 sudo docker run hello-world 时,遇到如下问题:

    [root@VM-12-13-centos ~]# sudo docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    719385e32844: Retrying in 1 second
    docker: error pulling image configuration: download failed after attempts=6: dial tcp 104.18.121.25:443: i/o timeout.
    See 'docker run --help'.
    
  • 错误做法:我在腾讯云上面行不通

  • 注册阿里云镜像服务,提升下载速度

  • 在 Docker 中配置镜像

可以执行如下代码解决:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://naptvv9c.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装 halo2.0

文档:https://docs.halo.run/getting-started/install/docker

  • 拉取 halo 的最新镜像

     docker pull halohub/halo:2.6
    
  • 创建容器

    docker run \
    -it -d \
    --name halo \
    -p 8090:8090 \
    -v ~/.halo2:/root/.halo2 \
    halohub/halo:2.6 \
    --halo.external-url=http://localhost:8090/ \
    --halo.security.initializer.superadminusername=admin \
    --halo.security.initializer.superadminpassword=P@88w0rd
    
    • halo.external-url 对外访问的域名
    • halo.security.initializer.superadminusername 初始超级管理员用户名
    • halo.security.initializer.superadminpassword 初始超级管理员密码
  • 在腾讯云防火墙中打开 8090 端口

  • 通过 Ip 访问: 123.123.123.123:8090

    123.123.123.123:8090/console 可以访问控制台。 默认超级用户为创建容器时设置的用户

配置域名

  1. 购买域名

  2. 解析域名


在宝塔进行反向代理

  • 在宝塔面板中设置域名

  • 从腾讯云中获取免费的 SSL 的证书

  • 在宝塔面板上配置证书

    进入到宝塔面板>>网站>>设置>>SSL>>当前证书-[未部署的 SSL]

    接着报证书内容粘过去

    之后,保存。最后,勾选强制 HTTPS

  • 接着配置反向代理

    注释掉如下内容:

    添加反向代理脚本

       #反代脚本:
       location / {
          proxy_pass http://127.0.0.1:8090/;
          rewrite ^/(.*)$ /$1 break;
          proxy_redirect off;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade-Insecure-Requests 1;
          proxy_set_header X-Forwarded-Proto https;
       }
    

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1909773034@qq.com

×

喜欢就点赞,疼爱就打赏