通过halo+云服务器搭建自己的博客网站

前言

目的是什么

搭建一个自己的网站,自己有这个网站的完全控制权。而这个网站在此作为我们的博客网站


为什么要这么做

  • 每个程序员都应该拥有一个属于自己的网站,以后学前端知识也有东西可以用来捣鼓。而个人网站最简单实用的形式应该就是博客网站了吧

  • 博客园有几个问题:

    • 尽管可以美化,但是给美化增加额外的内容是有难度的,作者不更新新的功能,那么这个美化方案基本功能就被写死了,我们能做的简单事情也就挑挑基本样式
    • 博客园前端可以美化,但是后台的丑是改不了的。而且后台的功能明显不好用,markdown编辑器更是基本用不了,我都是现在Typora中写好再粘贴过来的。
    • 对于我来说的一个问题:域名不是我的,感觉像是寄宿在别人家中一样。假如(只是假如)博客园出问题了,自己也会受到影响
    • 博客园大环境毕竟是编程,写一些其他的自己感兴趣的东西(比如二刺螈)多少有点占用资源的愧疚感,起码我是的
  • 使用halo的优点:

    • 可能安装halo和前面的准备工作对于小白来说很困难,但是真正使用的时候巨方便,可以添加插件来增加功能,美化方案的导入只需要拖动,美化方案之间的切换也巨简单

    • halo有氛围较好的论坛(中文论坛哦!),你可以在里面问问题,找插件,学习他人的经验

      image-20230128000021336

    • halo适配的美化方式虽然没有自己搞博客的选择多,但是每一个质量都很优秀,著名的Sakura,Butterfly都在里面

      image-20230127235959393

    • 后台管理很方便

      image-20230128000037327


感谢声明

  • 感谢项目组的韩学长,是他指导我购买服务器,建议我使用halo搭建博客的,没有他的引路,我就不可能开这个坑。学长博客网站:鲸落万物生 (hanmenghao.cn)
  • 感谢b站up主Meet安然,在2023/1/15发布的教程正好是使用的halo新版本教程,视频中讲解的很清楚,我的这篇博客只不过是对他视频内容的整理和小扩充:2023年halo博客2.0搭建+主题+插件_哔哩哔哩_bilibili
  • 感谢每一个愿意将自己经验传授给别人的人,是你们为我们这些后来者提供了捷径与动力
  • 感谢Halo方便了我这种小白,官网:Halo,官方文档:Halo Documents

正文

1.购买域名并且备案

  1. 购买域名可以在著名的网站购买,这里推荐腾讯云和阿里云(我买的腾讯云的)。可以购买cn或者fun等域名,com的域名较贵且必要性对个人博客不是很大(大不了以后在换)

    • 如果买的是国外或者香港的域名,可以不用备案,比较省事。但是如果你挂VPN访问网站,你的网站可能会被封,比较危险
    • 域名这东西尽早购买,买下来就相当于占了个座位,反正一年也不是很贵。如果自己心仪的域名被别人占用了才是得不偿失

    image-20230128092420969

  2. 备案没有什么难度,按照要求填写就行了,就是等的时间可能比较长。在哪个网站买的就去哪个网站备案即可

    image-20230128092536915


注意,尽量域名备案完后再进行接下来的步骤,下面的内容慢的也可以一下午解决,但是最后配置域名的时候如果你没有备案,那么你只能苦等,浪费了服务器的时间。网站使用未备案的域名并且网站被打开,这样的行为是犯法的哦!!! 见”步骤11.创建容器“



2.购买云服务器

在阿里云和腾讯云中,我更加推荐腾讯云:阿里云里的服务器都太高端了太贵了,腾讯云中有个轻量服务器,这个价格相对可以接受,新用户第一次购买会便宜一些。也可以等春节活动(2月)、双11等活动,会更加便宜。

下面的教程是依据腾讯云服务器讲解的

我推荐购买2核4G6M的云服务器,因为有些美化需要的配置比较高,最低的就是这个配置。新人价159一年,活动会降到一百以下

image-20230128093320050

  • 如果买,就最好直接买一年,不要买3个月,更不要买1个月(不能备案)
  • 我推荐2核4G6M的云服务器,基本日后个人博客不会有什么配置不足的情况

购买时的选项:

image-20230128093511756

  • 我176是因为我参加活动,这个是1年+1月,不用管价格
  • 地域选择离你最近的那一个,这个地域相当于你选择服务器的位置,肯定离你越近访问越快
  • 镜像,在我这篇教程中选择宝塔Linux面板

3.处理新买的服务器

  1. 可能有些小白(比如我)一开始连腾讯云这个网站的各个位置的作用都不知道,怎么进入自己的云服务器界面也不知道,所以在此提一嘴:在首页上面找到控制台

image-20230128095426093

在“我的资源”中点击服务器即可

image-20230128095516827

  1. 给服务器重装一下系统

    image-20230128100302532

    选择CentOS,版本选Stream8,使用7.6也可以

    image-20230128095849599

  2. 点击服务器,进入面板,重置密码。用户名用系统默认的就可以

    image-20230128100345404

image-20230128100528343


4.安装宝塔

  • 宝塔是什么:
    • 我们配置服务器,给他安装各类软件的时候,正常情况下我们应该是通过输入命令行来执行的(你可以理解为一种代码),而且需要记住很多Linux命令很麻烦
    • 使用宝塔,我们就可以通过操作可视化面板,通过简单的点击就可以执行命令,操作简单而且小白也能明白在干什么。管理服务器时很方便
  1. 登录服务器

    image-20230128101104345

    会进入如下界面

    image-20230128101129181

  2. 复制粘贴一下代码来安装宝塔

    yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
    

    粘贴过去后回车,就会执行,等待即可

    安装的图中会出现"Do you want to install xxxx to the xxxxx(y/n)",这时候要输入一个y,然后回车,确认要安装。后面还会询问是否正确开启面板SSL什么的,都是输入y然后回车

  3. 安装成功后会给出如下信息

    image-20230128101602853

    把这个复制一下,保存起来,以后有大用,千万别丢


5.打开宝塔端口的防火墙

上面安装成功后会给出一段信息(我让你保存的那个),里面有这么一段:若无法访问面板,请检查防火墙/安全组是否有放行面板[xxxxx]端口。记住这个端口,这个是宝塔的端口,我们要去打开防火墙,防止防火墙把宝塔拒之门外

  1. 回到服务器面板,点击上方的防火墙,点击添加规则

    image-20230128102021769

  2. 填写规则

    image-20230128102126638


6.访问宝塔

  1. 还是找到要求保存的信息,我们要进入外网面板网址

  2. 进入后进行宝塔的注册,注册后重新进入外网面板网址,登录

  3. 安装套件,我们选择LNMP,只安装第一个即可,其他的不用选

    image-20230128102748949

7.安装Docker

  1. 在宝塔中找到软件商店,搜索Docker并安装(因为有宝塔,所以才避免跟命令行打交道,小白光看命令咋会能知道现在正在干啥)

    image-20230128103425819

    image-20230128103451326

  2. 等安装完,我们去检查一下是否安装成功。进入当时登录服务器进的那个网页,输入docker version回车

    image-20230128103848823

    出现这样的结果说明成功,里面的参数可能会不一样,但是整体一样就行


8.配置阿里镜像

这一步不是必须的,但是如果没有配置,后面导入halo会巨慢,时间巨长。功在当下利在千秋

  1. 进入阿里云,搜索容器镜像服务,点击立即开通

    image-20230128104115169

  2. 找到这里

    image-20230128104329255

  3. 现在回到那么命令行界面,输入vim /etc/docker/daemon.json回车,会进入个这样的界面

    image-20230128104446567

  4. 把阿里云中的画圈那三行部分复制到命令行中

    image-20230128104628895

    image-20230128104647930

  5. 按下一次键盘左上角的Esc,这时候画面没有变化。输入:wq,发现底部发生变化,这时候回车就退出了

    image-20230128104813770


9.重启docker服务

还是那个命令行界面

依次输入systemctl daemon-reload回车,systemctl restart docker.service回车

image-20230128104952204


10.使用Docker镜像

在命令行中输入docker pull halohub/halo:2.1.0,这个2.1.0是docker的版本号,看你最新的镜像版本是多少,然后修改。去这里看:使用 Docker 部署 | Halo Documents

image-20230128105318988

回车后可能一开始没反应,但是不着急,慢慢等

image-20230128105915330


11.创建容器

对下面的代码进行修改,然后再复制粘贴到命令行页面

docker run \
 -it -d \
 --name halo \
 -p 8090:8090 \
 -v ~/.halo2:/root/.halo2 \
 halohub/halo:2.1.0 \
 --halo.external-url=http://localhost:8090/ \ #改域名 不需要加端口。
 --halo.security.initializer.superadminuser=admin \
 --halo.security.initializer.superadminpassword=P@88w0rd #改密码
  • superadminuser和superadminpassword是管理员账号密码,到时候登录你博客网站后台的时候用的。用户名一般不改,都是默认用admin,密码好好改改
  • 倒数第三行的url就是你的网站的域名,比如我就改成 --halo.external-url=http://zaughter.cn \

扩充:如果你没有听我的话,到现在这个地方还是没有已备案的域名,但是又迫切的想进行后面的内容尝尝鲜,那么你可以先把url设置为你的ip地址(这样搞你的网站只能你自己访问),等域名备案成功再更换

假如我的外网面板地址(让保存的那个)为http://12.123.123.12:xxxxxxx/xxxxxxxx,那么我的url就写成--halo.external-url=http://43.143.130.12:8090 \:看我111111前面的那些数字,再加上:8090即可


成功后,进入宝塔,点击左侧的Docker。现在我们的容器,镜像中应该都是有内容的了

image-20230128110943478


12.打开8090端口

跟步骤5一样,打开8090,备注halo


13.访问网站

找到自己公网ip

image-20230128111442730

在浏览器中访问 公网ip:8090

如果进入网页,恭喜你成功安装了halo!!!开香槟喽!!!


14.进入后台

image-20230128111616103

用户密码就是步骤11中的,第一次进入后台会让你设置博客名字,好好设置哦

后台样子:

image-20230128111650034


15.配置域名

等我域名备案通过再写


16.反向代理

进入宝塔,点击左侧”网站“,添加站点

image-20230128111955409

  • 域名包括zaughter.cn和www.zaughter.cn这样两个
  • 备注和根目录看个人。我的备注是blog,根目录是/www/wwwroot
  • 其他不用管,提交

17.配制网站SSL证书

等我域名备案通过再写


18.反向代理

image-20230128112250691

找到这些代码

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
    error_log /dev/null;
    access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
    expires      12h;
    error_log /dev/null;
    access_log /dev/null;
}
  1. 选中他们,按ctrl+/ 给他们添加注释,就像上面的图中一样,让他们前面都有个#,而且这时候会变成绿色

  2. 在他们下面粘贴以下代码

    location / {
     proxy_pass http://127.0.0.1:8090/;
     rewrite ^/(.*)$ /$1 break;
     proxy_redirect off;
     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;
     proxy_set_header Upgrade-Insecure-Requests 1;
     proxy_set_header X-Forwarded-Proto https;
    
    }
    
  3. 文末长这样

    image-20230128112609822

现在就可以通过自己买的域名进入网站了


19.安装主题

  1. 去主题仓库找一个自己喜欢的主题仓库 | Halo

点击下载会进入github页面

image-20230128112814539

  • 以Halo的Ha主题为例,根据README文档进入Release页面,安装压缩包(别错安成源码的压缩包)

    image-20230128112937506

image-20230128112949540

  1. 去博客后台,找到主题->主题管理->安装主题->把压缩包拖进去(如果失败了就用浏览去找到压缩包)

    image-20230128113153030

  2. 选择安装好的主题,网站右上角点击”启用“,更换成功


20.安装插件

与安装主题一样,插件都是在主题的说明中找到的

image-20230128113754178

posted @ 2023-01-28 11:39  Zaughter  阅读(1363)  评论(2编辑  收藏  举报