写在前面
Halo [ˈheɪloʊ],意为光环。当然,你也可以当成拼音读(哈喽)。
轻快,简洁,功能强大,使用 Java 开发的博客系统。
此前,我使用hexo,犹豫hexo是静态的,有所不便。无意之中发现这款博客框架。此博客使用java所以,内存需求比较高。优点是美观,支持批量导入md。
准备工作
建立交换空间
1 | dd if=/dev/zero of=/var/swapfile bs=1M count=1024 |
安装Docker
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
添加国内镜像源
添加或修改 /etc/docker/daemon.json
这个文件,加入下面的配置。
1 | { |
重启 Docker 使配置生效
1 | service docker restart |
开始部署halo
下载 Docker Compose 文件
首先我们需要下载好 docker-compose.yaml
文件,这个文件在项目目录里面有,我们可以直接使用 wget
命令从 github 上下载下来,如下操作:
1 | wget -O docker-compose.yaml https://git.io/fpS8N |
修改 Docker Compose 文件
假设你现在已经下载好了 docker-compose.yaml
文件,那么在部署之前需要做的就是简单修改以下这个文件。因为我们需要绑定域名以申请SSL证书,所以你需要在 docker-compose.yaml
文件中修改以下配置:
1 | halo: |
如上配置,我们需要修改 VIRTUAL_HOST
, LETSENCRYPT_HOST
为自己的域名,注意注意注意!,在部署之前,把域名解析商的api用export加入环境变量,只有这样才能证明域名所有权,才能完成签名。另外,LETSENCRYPT_EMAIL
这个节点是证书申请者的邮箱,当证书要过期的时候,会提醒你续签,DB_USER
和 DB_PASSWORD
分别为 H2Database
的用户名和密码,请务必要修改,这个是自定义的,不要使用默认的,修改完成之后保存文件备用。
配置nginx反代
1 | mkdir /etc/nginx |
运行docker
1 | docker-compose up -d |
停止与重构
1 | #停止容器运行: |
参考以及原文档
以上适用于Ubuntu18.10
1 | cd |
后续配置
踩坑
修改nginx的配置,因直接修改模板文件/etc/nginx/nginx.tmpl