Halo blog 搭建过程

Halo blog 搭建过程

1 前言

本篇文章详述了,本人搭建halo博客的全过程。从服务器购买、域名购买到网站搭建全过程。(含常见错误处理)。闲话不多说,开始搞起!

2 服务器购买

本人学生党,故买的是阿里云学生服务器ECS。
在这里插入图片描述

买完之后,点击运行,远程连接即可进入。

在这里插入图片描述

进入之后进行相关配置,服务器就算是搞好啦。

3 域名购买

域名其实不着急,将项目部署在服务器上在搞也不迟。但我还是提前说一下,嘻嘻。

我买的也是阿里云的域名,很便宜十块钱左右能买一年。域名没啥要求,简单的icu后缀即可。

在这里插入图片描述

购买域名很简单,但是审核通过的时间挺长,大概20天左右才可以使用。所以可以提前买好,然后趁这段时间把项目部署完毕。到时候直接就能用域名访问啦。

4 Halo 项目部署

我主要是参考halo 的官方文档来部署的。附上官方链接:https://docs.halo.run/zh/install/prepare

4.1 在 Linux 环境部署

首先,我们已经远程链接进入了服务器。(系统是Ubuntu 18.04 64位)

在这里插入图片描述

这样就算是成功进入了服务器。

首先,安装java环境

sudo apt-get install openjdk-11-jre -y

安装结束后,检查版本:

java -version

如果输出以下类似内容即代表成功

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode)

4.1 安装halo项目

1.创建新的系统用户 (此步可以省略,直接用root也行,我本人就是直接用的root)

创建一个名为 halo 的用户(名字可以随意)

useradd -m halo

给予 sudo 权限

usermod -aG wheel halo

为 halo 用户创建密码

passwd halo

登录到 halo 账户

su - halo

2.创建存放运行包的目录

root或halo账户操作相同。这里以 ~/app 为例

mkdir ~/app && cd ~/app

3.下载运行包

wget https://dl.halo.run/release/halo-1.4.8.jar -O halo.jar

4.创建工作目录

mkdir ~/.halo && cd ~/.halo

5.下载示例配置文件到工作目录

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

6.编辑配置文件,配置数据库或者端口等,如需配置请参考配置。

vim application.yaml

配置

由于使用的是自带的H2数据库,故直接修改application.yaml为下述即可。

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: admin
    password: 123456
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

注意:

  • url 为默认的数据本地存储地址,请勿修改。
  • 默认的数据库账户和密码为 admin123456,建议将其修改,并妥善保存(此用户名和密码在 Halo 第一次启动的时候将自动创建)。
  • 线上环境中,h2 的配置使用默认即可。如果需要手动修改一些数据,可将 web-allow-othersenabled 设为 true 来开启 h2 控制台,访问路径为 ip:端口/h2-consoleJDBC URLusernamepassword 使用配置文件中的即可。

7.测试运行 Halo,如果上述操作均已完成,则可以试一下有没有配置成功。

cd ~/app && java -jar halo.jar

8.如看到类似以下日志输出,则代表启动成功。

run.halo.app.listener.StartedListener    : Halo started at         http://127.0.0.1:8090
run.halo.app.listener.StartedListener    : Halo admin started at   http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener    : Halo has started successfully!

如果看到下述内容,则说明,没有下载相应主题,故要去下载一个主题放进去。

ThemePropertyMissingException C:\Users\Administrator.halo\templates\themes\anatole:没有说明文件。

这个问题可以到Halo官网进行下载主题

在这里插入图片描述

下载完成以后改名为:anatole,替换原来的anatole文件夹,路径看下图:

在这里插入图片描述

然后再次运行,可以看到正常运行了。

4.3 作为服务运行

1.退出 halo 账户,登录到 root 账户(root账户忽略次步骤)

exit

2.下载 Halo 官方的 halo.service 模板

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

3.修改 halo.service

vim /etc/systemd/system/halo.service

4.修改配置

  • YOUR_JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。
  • USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=USER
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

5.重新加载 systemd

systemctl daemon-reload

6.运行服务

systemctl start halo

7.在系统启动时启动服务

systemctl enable halo

8.您可以查看服务日志检查启动状态

journalctl -n 20 -u halo

域名代理,参考官方文档即可,我使用的是通过宝塔面板设置。

https://docs.halo.run/install/bt-panel

5 总结

通过上述步骤,项目就部署成功了,然后通过域名或ip地址即可访问。

本人博客:http://flowercoder.icu/


版权声明:本文为huahua66123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。