【玩转Lighthouse】个人Halo博客搭建指南
我的Halo博客搭建指南
原因
我的个人博客最近从Hexo迁移到了Halo(太闲了)所以刚好写篇(水)文章讲讲我是如何搭建的。
服务器+域名购买
Halo博客一般是部署在服务器上的,所以我们需要一台服务器,我个人使用的是腾讯云的Lighthouse,你也可以用别的服务商,新用户一般会有优惠。
如果你只是自己玩玩服务器的话,建议使用中国香港或海外的服务器,不用备案。然后你还需要一个域名,让大家用平时的网址访问,域名也可以在腾讯云买,但需要实名认证,(域名不需要备案,绑定中国大陆服务器才要),我试了好几次死活不行,所以使用Namesilo这个平台,网上教程很多,在此就不再赘述,就和你平时网购差不多。
我自己使用的是腾讯云的2H2G香港机型,这个配置在相同价格还算不错了,建议月付,不然后悔了比较麻烦。
系统建议选择 Debian 11 (Ubuntu 20 也不错) 然后等待一会儿 在腾讯云控制台中的轻量应用服务器中就可以看到你的机器了,点击进入详情页,在右上角重制密码,基本步骤就算做完了,如果你装错系统可以在右上角重装
SSH 连接
Windows 和 Mac 用户都可以使用Termius这个软件,
或者使用Windows Terminal或终端,想用Termius的同学可以网上搜素一下使用教程,这里为方便直接使用终端操作,输入
ssh root@你的公网IP
公网IP一般在云服务器后台可以看到,记住不要轻易泄漏,可能遭到“好心人”的攻击。
然后输入yes,代表记录这次连接
然后输入密码 (这里密码是不显示的!!!)
安装宝塔面板以及基本设置
宝塔面板是一个帮助小白用GUI管理Linux服务器的好工具,部署也极其简单
首先更新软件包(分开执行)
sudo apt update
sudo apt upgrade
然后正式安装
# Ubuntu
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
# Debian
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
(#那行 不要复制进去)
在终端内粘贴以上的命令 (选择对应的系统,我用的是Debian)
完成以后一般会显示这样
会显示你的默认账户密码以及登录地址 (是外网登录的那个)建议复制登录地址,一会要用
你也可以在终端内输入 bt 再输入5 改密码 再输入bt 6 改用户名就可以了
然后在服务器后台防火墙放行端口 (建议放行所有TCP,因为宝塔自带防火墙,UDP有需要再放)
然后访问上面的登录地址输入你的账户密码,同意用户协议,注册登录一个宝塔账户
一般过一会会跳出安装环境,我建议你先安装Nginx(1.21)和FTP ,其他的可以用Docker安装,更干净(把勾去掉就行了),
然后在消息盒子查看进度,等待安装完成。
接着你可以自己鼓捣研究一下,能看懂中文一般没有啥障碍(doge)
安装Docker(推荐用官方的一键安装脚本,适合小白)
非中国大陆服务器
wget -qO- get.docker.com | bash
中国大陆服务器
curl -sSL https://get.daocloud.io/docker | sh
然后等待一会就安装好了。
正式安装Halo
这次我们用Docker安装Halo,更方便
先创建配置文件夹
mkdir ~/.halo && cd ~/.halo
然后下载配置文件
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
编辑它
nano application.yaml
这里打马赛克的部分是数据库账户密码,可以改一下,剩下的可以看官方文档自己改,admin:是后台登录地址,最好也改掉
然后Ctrl+O保存,Ctrl+X退出
先执行
sudo docker pull halohub/halo:1.5.2
再执行
sudo docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped -e JVM_OPTS="-Xmx128m -Xms128m" halohub/halo:1.5.2
这里我限制了内存占用,以免服务器压力过大
然后记得在宝塔安全组放行8090端口
恭喜你,已经完成了60%了
在浏览器中输入你的IP:8090就可以进入Halo安装界面了
我这里没配图了,有点尴尬,大家自行脑补……
安装完成,访问IP:8090就能看到默认的文章了,然后我们一起看下如何绑定域名访问。
域名解析
首先需要设置DNS解析,来到你的域名管理后台(我这里以DNSPod为例子)
如果你是别的商家域名,也可以绑定DNSPod,免费版已经够用了,大家可以在网上自行搜索例如我用的就是Namesilo使用DNSPod解析,速度会快很多。
下面我来演示一下,
点击添加记录,主机记录就是一般www的位置,举个栗子:
www.bilibli.com
这里额外讲下@
@.bilibili.com 就等于 bilibili.com
大家懂了吗?
那这样我们访问的地址就是
blog.example.com(栗子)
IP这里我为了给你们演示,是随便写的,实际请换成你自己的公网IP
然后在终端内输入
ping 你的域名
像是这样就成功了
不是这样一般就是失败了
然后设置反向代理
反向代理
在宝塔面板 点击网站——添加站点(按照自己实际情况填域名)
在设置——SSL里面申请宝塔或者Let's Encrypt证书(不成功一般是你域名输错了)
很慢的话可以刷新一下页面
然后点击配置文件
建议按照官方文档提示操作
点击文档中的添加站点并配置Nginx,建议先把原本的配置复制粘贴到别的地方以免意外
这部分内容有点难,大家认真起来,敲黑板
在开头添加
upstream halo {
server 127.0.0.1:8090;
}
Ctrl+F 在配置文件内搜索 location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
把这里一直到 }的内容注释掉或者删掉,改为
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://halo;
expires 30d;
error_log /dev/null;
access_log off;
}
然后同样 Ctrl+F 在配置文件内搜索 location ~ .*.(js|css)?$
在下面这段的前面
access_log /www/wwwlogs/xxxxx.log;
error_log /www/wwwlogs/xxxxx.error.log;
}
注释或删除原内容,添加
location ~ .*\\.(js|css)?$
{
proxy_pass http://halo;
expires 12h;
error_log /dev/null;
access_log off;
}
还是在这两个log前面
access_log /www/wwwlogs/xxxxx.log;
error_log /www/wwwlogs/xxxxx.error.log;
}
添加
location / {
proxy_pass http://halo;
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;
}
}
注意:以上所有内容都要注意缩进!
整体看就是
upstream halo {
server 127.0.0.1:8090;
}
server
{
...
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://halo;
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .*\\.(js|css)?$
{
proxy_pass http://halo;
expires 12h;
error_log /dev/null;
access_log off;
}
location / {
proxy_pass http://halo;
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;
}
...
}
备注:这段是我基于Halo的官方文档的二次创作和一点补充,在此特地感谢Halo官方团队!
然后访问你的域名应该就可以看到博客了。
基本的部署就完成了,然后就是美化了
博客美化
先看下美化后的效果
我们访问Halo官方的主题仓库
选择一个你喜欢的主题,例如 Butterfly。
在这个页面里一般有主题的Github地址,比如:https://github.com/dhjddcn/halo-theme-butterfly.git
我们访问你的Halo后台:一般是 你的域名/admin(如果你改了的话就用你改的地址)
登录以后,点击外观——主题——安装——远程下载 粘贴你的主题仓库地址,一会就下好了。
然后大家就可以自己摸索尝试了,界面也比较直观。
备份与恢复
在系统——小工具里有博客备份,
整站备份是把你的配置文件夹压缩直接下载下来,包含主题、评论之类的
而数据导出是备份一个json文件,可以在安装时导入,不包含主题,(评论我还没测试)
大家按需选择,不过我整站备份下载不了,不知道是不是个例?
在你重新安装时就可以把json文件导入了
Ending
OK,这篇文章我爆肝了2、3个小时才写出来的,如果对你有帮助就是我更新的最大动力,那我们下次再见,Byebye~