Halo可以说是目前最好的 Java 博客系统了.
Halo [ˈheɪloʊ],意为光环。当然,你也可以当成拼音读(哈喽)。
一个优秀的开源博客发布应用,值得一试。
搭建halo是一个简单的过程,但其中可能碰到一个简单的问题并困扰你很久,希望你能拥有一颗爱折腾的心
---------------------------------------------------- 写在最前
官方文档
开源GitHub地址
已下仅为个人(菜鸟)学习过程,大佬勿喷
说明
1.本文讲在云服务器上安装halo,需要读者有一些技术基础,xshell,服务器,域名,Linux,,,
2.请先将域名备案解析好
3.服务器的安全组443 80 8090端口开放
4.安装好xshell
5.服务器应是CentOS 7.x,512 MB 以上内存
安装成功后页面
登录xshell
安装 - 使用Docker部署Halo
Docker是一个开源的应用容器引擎,这里我们使用它来安装Halo
1.更新软件包
确保服务器的软件包已经是最新的
sudo yum update -y
2.安装Docker
阿里云Docker一键安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以参考文档
docker-ce
3.配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
键入下面3条命令
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gn66qxu0.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
你可以用命令docker -v 来测试你是否安装成功
这着实有点麻烦,你也可以使用宝塔面板一键安装,这里我就不赘述了
4.安装Halo
# 下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
修改配置文件的话没什么好改的,这就过了
5.拉取最新的Halo镜像
sudo docker pull ruibaby/halo
6.创建容器并运行
docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
完成以上操作即可通过 ip:端口 访问了,这里大概要等半分钟左右。不过在此之前,最好先完成后续操作,我们还需要让域名也可以访问到 Halo,请继续看 配置域名访问。
这里我已经初始化,好了。。
2.使用 Caddy 进行反向代理
配置域名访问的话我们选Caddy,因为如果使用nginx的话,下载certbot时大概率会出现一个版本问题,而且caddy也很方便
1.安装caddy
caddy目前是不支持centos8的,所以服务器还是别选版本太高
# 安装 Caddy 软件包
yum install caddy -y
# 下载 Halo 官方的 Caddy 配置模板
curl -o /etc/caddy/conf.d/Caddyfile.conf --create-dirs https://dl.halo.run/config/Caddyfile
# 使用 vim 编辑 Caddyfile
vim /etc/caddy/conf.d/Caddyfile.conf
如果读者不会使用vim的话,可以在网上找一下,比较简单
https://www.simple.com {
gzip
tls xxxx@xxx.xx
proxy / localhost:port {
transparent
}
}
1.请把 https://www.simple.com 改为自己的域名。
2.tls 后面的 xxxx@xxx.xx 改为自己的邮箱地址,这是用于自动申请 SSL 证书用的。需要注意的是,不需要你自己配置 SSL 证书,而且会自动帮你续签。
3.localhost:port 请将 port 修改为 Halo 的运行端口,默认为 8090。
3.修改完成之后启动 Caddy 服务即可,其实自启也就可以了
# 开启自启 Caddy 服务
systemctl enable caddy
# 启动 Caddy
service caddy start
# 停止运行 Caddy
service caddy stop
# 重启 Caddy
service caddy restart
这里有个问题,就是如果你没有完成下面一步,则是不能访问simple.com的
需要在前面加上www.
4.重定向
# 使用 vim 编辑 Caddyfile
vim /etc/caddy/conf.d/Caddyfile.conf
把这串代码粘贴进去
https://simple.com {
redir https://www.simple.com{url}
}
将 https://simple.com 和 https://www.simple.com{url} 修改为自己需要的网址就行了
5.最后我们重启 Caddy 即可。
到这里,关于 Caddy 反向代理的配置也就完成了,现在你可以访问一下自己的域名,并进行 Halo 的初始化了。
如果访问不了,可能是80号端口被占用了,查看一下80号端口使用情况
要注意一点是博客地址应改为你的域名地址,否则会造成资源获取不成功
6.再附上halo的主题地址
halo
如果觉得我的文章对你有用,不妨点个赞吧。若君愿分享所得,感涕零!!!