侧边栏壁纸
博主头像
loubic's blog博主等级

Just for love

  • 累计撰写 4 篇文章
  • 累计创建 1 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

halo博客搭建记录

loubic
2024-05-25 / 1 评论 / 4 点赞 / 85 阅读 / 10247 字

一些废话

前段时间忽然想起来大二的时候搭过但是最后不了了之的博客,刚好现在每天晚上有一些空闲的时间,于是捡起了搭博客这个计划。另一方面有了博客,本着不浪费的想法,自己总会多多少少学点其他东西来丰富自己的博客,也是一种变相的督促自己的方式。

大二尝试的时候采用的是hexo,把博客搭载在github上,但是这种方法比较麻烦而且github不是很稳定,又由于hexo没有后端所以操作上也不是很方便,最后虽然草草搭好了,但是一直没用过。这次搭建我最初选择了使用wordpress,自己购入了阿里云的服务器注册了域名,已经搭好了博客的框架,设计了一个还算说得过去的页面,但是前几天wordpress使用下来,一直没有觉得很顺手,诚然他能更大程度的自定义,但是这也导致他的操作更复杂,上手需要更多的时间,而且更多的主题适合制作商业化网站界面,对我而言仅仅用作搭一个简单的博客wordpress有点大材小用了。刚好昨天在逛大佬们的博客的时候看到了很多人都在使用halo,于是了解了一下,然后直接被圈粉,相比wordpress,halo更轻量一些,更适合用来做博客,很多主题设计的更贴我个人的喜好,虽然没有那么高的自定义程度,但是这也意味着省去了更多的上手时间,所以我最后选择了使用halo来搭建我的个人博客。

halo博客搭建流程

其实helo的官方文档已经把流程写的很清楚了,所以这里主要写一下服务器的选择和域名的备案,以及我在搭建过程中遇到的问题。

1.服务器购买

我选择了阿里云的轻量服务器,第一年购买应该有折扣。要购买三个月以上,因为域名备案要有三个月以上的服务器。

服务器地域可以选择杭州。镜像点击系统镜像选择Alibaba。然后点击购买,支付完等待几分钟就可以在控制台看到购买的轻量服务器了。

2.域名购买和备案

进入阿里云搜索,查询自己想要的域名有没有被注册,比如搜索我的域名loubic,会发现后缀为.com和.top的已经被注册了,每种后缀的价格不一样,可以按自己的喜好自己选择。

购买完之后需要进行实名认证,进入域名控制台,完成实名认证后等待2-3天,进行ICP备案,点击开始备案,按照要求填写信息即可,其中网站信息部分,一定要按照命名规则。

个人网站名称不能涉及到行业、企业等信息,且个人网站名称请勿涉及个人姓名、地名,请不要用纯数字或字母组成,不能包含特殊符号,不能使用成语;网站名称请使用3个以上汉字命名,请不能使用XXX个人空间、资讯、网站、网络、网址、爱好者、作品展示、工作室、平台、主页、热线、社团、导航这种的格式命名;网站名称中不能带有博客、论坛、在线、社区、交流等字样,若要带有此类信息,需提交前置审批文。

备注信息要求详细说明网站开办后所涉及的内容及用途(必须为30字以上,备注不可以有博客、论坛、交流等词),这里可以求助于chatgpt。

完成之后等待一段时间如果阿里云备案通过后,上面填的电话号码会收到验证码,打开短信里的网站按要求填写信息,备案完成后就会收到短信,之后要在公安部门进行报备,公安部门备案流程

3.安装1panel

进入阿里云控制台,找到自己的轻量服务器,开机后点击远程连接,选择密码登录,如果没有设置过密码可以点击重置密码进行设置。

成功登录后进入服务器面板输入指令

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

安装完成后终端会输出面板访问信息,可通过浏览器访问 1Panel:

http://目标服务器 IP 地址:目标端口/安全入口

需要开放服务器安全组的目标端口,面板地址中,IP后面的数字就是目标端口号,如上图。接着进入阿里云控制台,找到自己的轻量服务器,点击 管理规则,再点击 添加规则,在端口范围一栏里输入上面控制台输出的端口号。随后在浏览器输入面板地址即可打开1panel,面板地址中的$LOCAL_IP要替换成服务器的公网IP。

4.使用1panel部署halo

进入1panel,在安装 Halo 之前,我们需要先在 1Panel 上安装好所需的软件,包括 OpenRestyMySQL

然后进入应用商店应用列表,选择其中的 Halo 应用进行安装。选择最新版本的即可,参数说明:

  • 名称:要创建的 Halo 应用的名称。

  • 数据库服务:Halo 应用使用的数据库应用,支持下拉选择已安装的数据库应用,1Panel 会自动配置 Halo 使用该数据库。

  • 数据库名:Halo 应用使用的数据库名称,1Panel 会在选中的数据库中自动创建这个数据库。

  • 数据库用户:Halo 应用使用的数据库用户名,1Panel 会在选中的数据库中自动创建这个用户,并添加对应的数据库授权。

  • 数据库用户密码:Halo 应用使用的数据库用户密码,1Panel 会在选中的数据库中自动为上一步创建的用户配置该密码。

  • 超级管理员用户名:Halo 应用初始化创建的超级管理员用户名。

  • 超级管理员密码:Halo 应用初始化创建的超级管理员密码。

  • 外部访问地址:Halo 应用的最终访问地址,如果有为 Halo 规划域名,需要配置为域名格式,例如 http://loubic.top。否则配置为 http://服务器IP:PORT,例如 http://192.168.1.1:8090。(其中服务器IP是服务器的公网IP,port是自己设置的端口号,我这里用的是8080,这一步完成后要回到阿里云的控制台开放安全组的端口,步骤同前面,只有开放对应端口才能在浏览器里打开Halo)

  • 端口:Halo 应用的服务端口。

开始安装后页面自动跳转到已安装应用列表,等待刚刚安装的 Halo 应用变为已启动状态。这时候就可以通过配置的外部访问地址来访问 Halo 了。在浏览器输入http://服务器IP:PORT 其中服务器IP是服务器公网IP,port是上面填写的端口。

5.创建网站

完成 Halo 应用的安装后,此时并不会自动创建一个网站,我们需要手动创建一个网站,然后将 Halo 应用绑定到这个网站上才能使用域名访问。

点击 1Panel 菜单的 网站,进入网站列表页,点击 创建网站 按钮。

应用选择Halo,域名写自己的域名,其他域名可以写自己的公网ip和顶级域名,如下图。

6.域名解析

域名解析将我们的域名和服务器连接起来,达到访问域名进入我们网站的目的。

首先打开阿里云控制台,找到域名控制台,点击 域名解析管理

点击自己的域名,点击新手引导

如图,选择两个网站域名,网站IP为服务器公网IP确定即可。

遇到的问题

1.docker安装失败

第三步安装1panel的时候卡在安装docker很长时间然后报下面的错

选择延迟最低的源 https://mirrors.aliyun.com/docker-ce,延迟为 0.113178 秒 # Executing docker install script, commit: 6d9743e9656cc56f699a64800b098d5ea5a60020 ERROR: Unsupported distribution 'alinux'
[1Panel Log]: ... 启动 docker Failed to enable unit: Unit file docker.service does not exist. Failed to start docker.service: Unit docker.service not found.
[1Panel Log]: docker 安装失败

本质上是docker没安装了,手动安装docker再运行安装程序就解决了。

解决方法如下(参考阿里云

a.运行以下命令,添加docker-ce的dnf源。

sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

b.运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。

sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus

c.运行以下命令,安装Docker。

sudo dnf -y install docker-ce --nobest

d.执行以下命令,检查Docker是否安装成功。

sudo docker -v

e.执行以下命令,启动Docker服务,并设置开机自启动。

sudo systemctl start docker
sudo systemctl enable docker

f.执行以下命令,查看Docker是否启动。

sudo systemctl status docker

2.阿里云服务器连接时显示操作系统不允许使用密码登录

点击救援登录,进入命令行后回车输入用户名和密码进行登录。

完成登陆后查看/etc/ssh/sshd_config的参数PasswordAuthentication配置是否有误。

cat /etc/ssh/sshd_config

PasswordAuthentication参数设置为no,表示禁止以密码方式登录,需要修改为yes

a.打开SSH配置文件。

vi /etc/ssh/sshd_config

b.将PasswordAuthentication no修改为PasswordAuthentication yes。(往下翻,按“i”键打开输入模式)
更改完之后按“esc”键,输入“:wq”按回车保存。

c. 重启SSHD服务。

service sshd restart

4
博主关闭了所有页面的评论