前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >迁移Hexo到halo

迁移Hexo到halo

作者头像
Innei
发布2021-12-28 14:40:27
1.2K0
发布2021-12-28 14:40:27
举报
文章被收录于专栏:静之森

写在前面

Halo ˈheɪloʊ,意为光环。当然,你也可以当成拼音读(哈喽)。 轻快,简洁,功能强大,使用 Java 开发的博客系统。

此前,我使用hexo,犹豫hexo是静态的,有所不便。无意之中发现这款博客框架。此博客使用java所以,内存需求比较高。优点是美观,支持批量导入md。

准备工作

建立交换空间

bash

代码语言:javascript
复制
1dd if=/dev/zero of=/var/swapfile bs=1M count=1024
2mkswap /var/swapfile
3swapon /var/swapfile
4echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

COPY

安装Docker

bash

代码语言:javascript
复制
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
2sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
3sudo apt-get update
4sudo apt install docker-ce
5curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
6chmod +x /usr/local/bin/docker-compose
7docker-compose -v

COPY

添加国内镜像源

添加或修改 /etc/docker/daemon.json 这个文件,加入下面的配置。

json

代码语言:javascript
复制
1{
2  "registry-mirrors": ["http://hub-mirror.c.163.com"]
3}

COPY

重启 Docker 使配置生效

bash

代码语言:javascript
复制
1service docker restart

COPY

开始部署halo

下载 Docker Compose 文件

首先我们需要下载好 docker-compose.yaml 文件,这个文件在项目目录里面有,我们可以直接使用 wget 命令从 github 上下载下来,如下操作:

bash

代码语言:javascript
复制
1wget -O docker-compose.yaml https://git.io/fpS8N

COPY

修改 Docker Compose 文件

假设你现在已经下载好了 docker-compose.yaml 文件,那么在部署之前需要做的就是简单修改以下这个文件。因为我们需要绑定域名以申请SSL证书,所以你需要在 docker-compose.yaml 文件中修改以下配置:

docker

代码语言:javascript
复制
1  halo:
2    restart: always
3    image: ruibaby/halo
4    container_name: halo
5    ports:
6      - 8090:8090
7    environment:
8      - VIRTUAL_PORT=8090
9      - VIRTUAL_HOST=localhost  # 监听的地址(务必修改)
10      - LETSENCRYPT_HOST=localhost # 证书的域名 (务必修改)
11      - LETSENCRYPT_EMAIL=i@example.com # 证书所有者的邮箱,快过期时会提醒(务必修改)
12      - DB_USER=admin # h2数据库用户名,自定义(务必修改)
13      - DB_PASSWORD=123456 # h2数据库密码,自定义(务必修改)
14    volumes:
15      - ~/halo:/root/halo

COPY

如上配置,我们需要修改 VIRTUAL_HOST , LETSENCRYPT_HOST 为自己的域名,注意注意注意!在部署之前,把域名解析商的api用export加入环境变量,只有这样才能证明域名所有权,才能完成签名。另外,LETSENCRYPT_EMAIL 这个节点是证书申请者的邮箱,当证书要过期的时候,会提醒你续签,DB_USERDB_PASSWORD 分别为 H2Database 的用户名和密码,请务必要修改,这个是自定义的,不要使用默认的,修改完成之后保存文件备用。

配置nginx反代

bash

代码语言:javascript
复制
1mkdir /etc/nginx
2curl https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl > /etc/nginx/nginx.tmpl

COPY

运行docker

bash

代码语言:javascript
复制
1docker-compose up -d
2docker pull ruibaby/halo

COPY

停止与重构

bash

代码语言:javascript
复制
1#停止容器运行:
2docker-compose stop
3#重新构建 Halo 容器:
4docker-compose up -d --build

COPY

参考以及原文档

Docker Compose 部署Halo教程

以上适用于Ubuntu18.10

bash

代码语言:javascript
复制
1cd
2dd if=/dev/zero of=/var/swapfile bs=1M count=1024
3mkswap /var/swapfile
4swapon /var/swapfile
5echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
6curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
7sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
8sudo apt-get update
9sudo apt install docker-ce -y
10curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
11chmod +x /usr/local/bin/docker-compose
12docker-compose -v
13echo "{
14  "registry-mirrors": ["http://hub-mirror.c.163.com"]
15}
16
17" >> /etc/docker/daemon.json
18service docker restart
19wget -O docker-compose.yaml https://git.io/fpS8N
20nano docker-compose.yaml
21mkdir /etc/nginx
22curl https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl > /etc/nginx/nginx.tmpl
23docker-compose up -d
24docker pull ruibaby/halo

COPY

后续配置

踩坑

修改nginx的配置,因直接修改模板文件/etc/nginx/nginx.tmpl

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 准备工作
    • 建立交换空间
      • 安装Docker
        • 添加国内镜像源
          • 重启 Docker 使配置生效
          • 开始部署halo
            • 下载 Docker Compose 文件
              • 修改 Docker Compose 文件
                • 配置nginx反代
                  • 运行docker
                    • 停止与重构
                    • 参考以及原文档
                      • 后续配置
                      相关产品与服务
                      容器服务
                      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档