【玩转Lighthouse】个人Halo博客搭建指南

我的Halo博客搭建指南

原因

我的个人博客最近从Hexo迁移到了Halo(太闲了)所以刚好写篇()文章讲讲我是如何搭建的。

服务器+域名购买

Halo博客一般是部署在服务器上的,所以我们需要一台服务器,我个人使用的是腾讯云的Lighthouse,你也可以用别的服务商,新用户一般会有优惠。

如果你只是自己玩玩服务器的话,建议使用中国香港或海外的服务器,不用备案。然后你还需要一个域名,让大家用平时的网址访问,域名也可以在腾讯云买,但需要实名认证,(域名不需要备案,绑定中国大陆服务器才要),我试了好几次死活不行,所以使用Namesilo这个平台,网上教程很多,在此就不再赘述,就和你平时网购差不多。

我自己使用的是腾讯云的2H2G香港机型,这个配置在相同价格还算不错了,建议月付,不然后悔了比较麻烦。

系统建议选择 Debian 11 (Ubuntu 20 也不错) 然后等待一会儿 在腾讯云控制台中的轻量应用服务器中就可以看到你的机器了,点击进入详情页,在右上角重制密码,基本步骤就算做完了,如果你装错系统可以在右上角重装

LHFqrq.md.png

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)

完成以后一般会显示这样

LHFIPg.md.jpg

会显示你的默认账户密码以及登录地址 (是外网登录的那个)建议复制登录地址,一会要用

你也可以在终端内输入 bt 再输入5 改密码 再输入bt 6 改用户名就可以了

然后在服务器后台防火墙放行端口 (建议放行所有TCP,因为宝塔自带防火墙,UDP有需要再放)

LHFha8.png

然后访问上面的登录地址输入你的账户密码,同意用户协议,注册登录一个宝塔账户

一般过一会会跳出安装环境,我建议你先安装Nginx(1.21)和FTP ,其他的可以用Docker安装,更干净(把勾去掉就行了),

LHFoGQ.png

然后在消息盒子查看进度,等待安装完成。

接着你可以自己鼓捣研究一下,能看懂中文一般没有啥障碍(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
LHFB5D.md.jpg

这里打马赛克的部分是数据库账户密码,可以改一下,剩下的可以看官方文档自己改,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端口

LHF7xs.md.png

恭喜你,已经完成了60%了

在浏览器中输入你的IP:8090就可以进入Halo安装界面了

我这里没配图了,有点尴尬,大家自行脑补……

安装完成,访问IP:8090就能看到默认的文章了,然后我们一起看下如何绑定域名访问。

域名解析

首先需要设置DNS解析,来到你的域名管理后台(我这里以DNSPod为例子)

如果你是别的商家域名,也可以绑定DNSPod,免费版已经够用了,大家可以在网上自行搜索例如我用的就是Namesilo使用DNSPod解析,速度会快很多。

下面我来演示一下,

点击添加记录,主机记录就是一般www的位置,举个栗子:

www.bilibli.com

这里额外讲下@

@.bilibili.com 就等于 bilibili.com

大家懂了吗?

LHFJ29.md.png

那这样我们访问的地址就是

blog.example.com(栗子)

IP这里我为了给你们演示,是随便写的,实际请换成你自己的公网IP

然后在终端内输入

ping 你的域名

像是这样就成功了

LHFUDx.md.png

不是这样一般就是失败了

然后设置反向代理

反向代理

在宝塔面板 点击网站——添加站点(按照自己实际情况填域名)

在设置——SSL里面申请宝塔或者Let's Encrypt证书(不成功一般是你域名输错了)

LHFwVK.md.jpg

很慢的话可以刷新一下页面

然后点击配置文件

建议按照官方文档提示操作

点击文档中的添加站点并配置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官方团队!

然后访问你的域名应该就可以看到博客了。

基本的部署就完成了,然后就是美化了

博客美化

先看下美化后的效果

LHFgKI.md.png

我们访问Halo官方的主题仓库

选择一个你喜欢的主题,例如 Butterfly。

在这个页面里一般有主题的Github地址,比如:https://github.com/dhjddcn/halo-theme-butterfly.git

我们访问你的Halo后台:一般是 你的域名/admin(如果你改了的话就用你改的地址)

登录以后,点击外观——主题——安装——远程下载 粘贴你的主题仓库地址,一会就下好了。

然后大家就可以自己摸索尝试了,界面也比较直观。

备份与恢复

在系统——小工具里有博客备份,

整站备份是把你的配置文件夹压缩直接下载下来,包含主题、评论之类的

而数据导出是备份一个json文件,可以在安装时导入,不包含主题,(评论我还没测试)

大家按需选择,不过我整站备份下载不了,不知道是不是个例?

在你重新安装时就可以把json文件导入了

Ending

OK,这篇文章我爆肝了2、3个小时才写出来的,如果对你有帮助就是我更新的最大动力,那我们下次再见,Byebye~

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
【玩转Lighthouse】个人Halo博客搭建指南
我的个人博客最近从Hexo迁移到了Halo(太闲了)所以刚好写篇(水)文章讲讲我是如何搭建的。
<<上一篇
下一篇>>