利用HALO搭建一个自己的个人博客的正确姿势,亲测

效果图

在这里插入图片描述

环境准备

  • 具有Linux系统基本操作能力
  • 具有可以进行部署的Linux环境
  • CentOS 7.x
  • Docker
  • 1G以上的内存
  • MySQL
  • jdk

环境搭建

Docker环境安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5B4umSU-1592886815807)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623091551462.png)]

  • 检查Linux内核版本,必须是3.10及以上
[root@localhost ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
  • 安装docker
[root@localhost ~]# yum install docker
  • 检查docker
[root@localhost ~]# docker -v
Docker version 1.13.1, build cccb291/1.13.1
  • 启动docker
[root@localhost ~]# systemctl start docker
  • 设置开机启动docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
  • 停止docker
[root@localhost ~]# systemctl stop docker

Docker 的常用命令

镜像操作命令

操作 命令 说明
检索 docker search 关键字 eg:docker search mysql docker hub上检索镜像的详细信息,如镜像的TAG。
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像

查询镜像:https://hub.docker.com/

容器常用命令

  • 搜索镜像
[root@localhost ~]# docker search mysql
  • 拉取镜像文件
[root@localhost ~]# docker pull mysql:tag
  • 根据镜像启动容器
[root@localhost ~]# docker run --name mysql01 -d mysql:tag
  • 查看正在运行的容器
[root@localhost ~]# docker ps
  • 查看所有容器
[root@localhost ~]# docker ps -a
  • 停止容器
[root@localhost ~]# docker stop 容器id
  • 删除容器
[root@localhost ~]# docker rm 容器id
  • 端口映射
[root@localhost ~]# docker run -d -p 3306:3306 mysql
-d:后台运行
-p: 将主机的端口映射到容器的一个端口    主机端口:容器内部的端口
  • 查看容器日志
[root@localhost ~]# docker logs container-name/container-id

更多命令参看
https://docs.docker.com/engine/reference/commandline/docker/
可以参考每一个镜像的文档

MySQL环境搭建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-obWhpFMz-1592886815811)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623091905089.png)]

拉取MySQL镜像文件

[root@localhost ~]# docker search mysql
[root@localhost ~]# docker pull mysql

按照dockerhub的文档进行数据库的启动

docker run -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
-p : 端口映射,使得外部可以通过虚拟机的3306端口访问容器的3306端口
--name :the name of the container
-e :the password of the root user
-d :后台运行
测试shell: docker run -p 3306:3306 --name mysql-01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

JDK环境的搭建

针对没有JDK环境

  • 下载JDK,通过华为云的镜像加速下载,这里以JDK1.8为例子,其他版本类似,可以到https://repo.huaweicloud.com/java/jdk/查看更多版本
[root@VM_0_16_centos ~]# mkdir /usr/lib/java
[root@VM_0_16_centos ~]# cd /usr/lib/java
[root@VM_0_16_centos ~]# wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
  • 解压JDK压缩包文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LlHiDrgL-1592886815815)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623095140935.png)]

[root@VM_0_16_centos java]# tar -zxvf jdk-8u202-linux-x64.tar.gz

解压后会得到如图的jdk1.8.0_202文件

在这里插入图片描述

  • 配置java的环境变量,编辑 /etc/profile ⽂件,在文件尾部加⼊如下 JDK 环境配置即可
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jntdNY7n-1592886815820)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623095428322.png)]
vim /etc/profile     #编辑文件信息
--------------------------------------
JAVA_HOME=/usr/lib/java/jdk1.8.0_202
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

#编辑完成后退出
source /etc/profile  #使得文件生效
java -version        #查看Java版本


--------------------------------------------------
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)


安装Halo

下载自定义的配置文件到Linux

该配置文件可以为我们提供定义端口等设置项,而且该文件是独立于安装包的,所以在以后的更新中,配置文件可以不用进行更新即可使用。注意:该配置文件的路径为:~/.halo/application.yaml

使用如下命令:

# 下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

修改配置文件

# 使用 Vim 工具修改配置文件
vim ~/.halo/application.yaml
server:
  port: 8090

  # Response data gzip.
  compression:
    enabled: false
spring:
  datasource:

    # H2 database configuration.
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: admin
    password: 123456

    # MySQL database configuration.
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#    username: root
#    password: 123456

  # H2 database console configuration.
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

halo:

  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level
  cache: memory

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8MndnWt8-1592886815822)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623095949449.png)]

  1. 如果需要自定义端口,修改 server 节点下的 port 即可。
  2. 默认使用的是 H2 Database 数据库,这是一种嵌入式的数据库,使用起来非常方便。需要注意的是,默认的用户名和密码为 admin123456,这个是自定义的,最好将其修改,并妥善保存。
  3. 如果需要使用 MySQL 数据库,需要将 H2 Database 的所有相关配置都注释掉,并取消 MySQL 的相关配置。另外,MySQL 的默认数据库名为 halodb,请自行配置 MySQL 并创建数据库,以及修改配置文件中的用户名和密码。
  4. h2 节点为 H2 Database 的控制台配置,默认是关闭的,如需使用请将 h2.console.settings.web-allow-othersh2.console.enabled 设置为 true。控制台地址即为 域名/h2-console。注意:非紧急情况,不建议开启该配置。
  5. server.compression.enabledGzip 功能配置,如有需要请设置为 true,需要注意的是,如果你使用 Nginx 或者 Caddy 进行反向代理的话,默认是有开启 Gzip 的,所以这里可以保持默认。
  6. halo.admin-path 为后台管理的根路径,默认为 admin,如果你害怕别人猜出来默认的 admin(就算猜出来,对方什么都做不了),请自行设置。仅支持一级,且前后不带 /
  7. halo.cache 为系统缓存形式的配置,可选 memorylevel,默认为 memory,将数据缓存到内存,使用该方式的话,重启应用会导致缓存清空。如果选择 level,则会将数据缓存到磁盘,重启不会清空缓存。如不知道如何选择,建议默认。

注意:我测试需要将type属性注释掉,才能正常启动halo

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tLGWRacV-1592886815830)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623100245153.png)]

连接数据库,建立halodb数据库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jzWsng3u-1592886815833)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623102208741.png)]

拉取最新的Halo镜像文件

输入命令拉取

docker pull ruibaby/halo

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZRcbtYS2-1592886815836)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623102351216.png)]

创建容器并运行

docker run --rm -it -d --name halo -p 8090:8090  -v ~/.halo:/root/.halo ruibaby/halo
  1. –rm:停止之后自动删除容器。
  2. –name:容器名。
  3. -p:占用端口,前者为宿主机端口,后者为 Halo 的运行端口,可在 application.yaml 配置。
  4. -v:目录映射,一般不要修改。
  5. -d: 后台运行

完成以上操作即可通过 ip:端口 访问了。如果我们有域名,我们还需要让域名也可以访问到 Halo。

在这里插入图片描述

个人博客跑起来~~

设置8090入口权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ckMtAzdA-1592886815841)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103224885.png)]

博客初始化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-img6jbHy-1592886815843)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103201199.png)]

然后就可以按照提示进行博客的初始化了,个人博客搭建完成,美滋滋

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hH763b7X-1592886815845)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103519630.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qmCIIzUZ-1592886815847)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103544267.png)]

登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9cZqMmfC-1592886815849)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103608114.png)]

进入到了halo的后台界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xlIhHmqW-1592886815851)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103848682.png)]

http://ip:8090/ 访问博客主页

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrmESpMQ-1592886815853)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623104011318.png)]

博客的主题设置以及基本使用

至此,我们已经成功搭建了一个可以运行的博客平台,接下来就来讲讲一些基本的操作吧。

个人能力前端有限:涉及到javascript等前端细节优化,请各位老铁自己发挥,同时也希望能够互相沟通交流一波~~~!!

主题设置

可以访问官方推荐的主题:https://halo.run/p/themes.html

大佬自行忽略_

在这里插入图片描述

大家可以自行参考选择。

我这里已经下载好了一些主题:来看看如何导入如此美丽酷炫的主题吧!

  • 第一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z1BjWkzH-1592886815855)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623104853731.png)]

  • 第二步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P9XxDDXm-1592886815856)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105000567.png)]

  • 第三步:上传

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UZGktQH-1592886815859)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105019744.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vdD3c4ka-1592886815860)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105204150.png)]

  • 启用即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lDpm8Sly-1592886815862)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105246483.png)]

博客编写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5CyMLtQV-1592886815863)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623110548706.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Hqx96MF-1592886815864)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623111653650.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXeZGaK1-1592886815867)(C:\Users\ASUS\Desktop\test.gif)]

欢迎关注公众号

获取该博客的pdf稳定版,就来然Coder
关注公众号后输入:【halo博客搭建】即可获得稳定版的.pdf操作文档

在这里插入图片描述

至此有关使用halo搭建一个个博客的正确姿势展示完毕,亲测有效,如果对你有所帮助,给个大拇指吧~~~~


猜你喜欢

转载自blog.csdn.net/qq_45744501/article/details/106920825