效果图

环境准备
- 具有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)]](https://code84.com/wp-content/uploads/2022/10/20200623123613785.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)]](https://code84.com/wp-content/uploads/2022/10/20200623123644575.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)]](https://code84.com/wp-content/uploads/2022/10/20200623123710838.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)]](https://code84.com/wp-content/uploads/2022/10/20200623123802673.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)]](https://code84.com/wp-content/uploads/2022/10/20200623123832920.png)
- 如果需要自定义端口,修改
server节点下的port即可。 - 默认使用的是
H2 Database数据库,这是一种嵌入式的数据库,使用起来非常方便。需要注意的是,默认的用户名和密码为admin和123456,这个是自定义的,最好将其修改,并妥善保存。 - 如果需要使用
MySQL数据库,需要将H2 Database的所有相关配置都注释掉,并取消MySQL的相关配置。另外,MySQL的默认数据库名为halodb,请自行配置MySQL并创建数据库,以及修改配置文件中的用户名和密码。 h2节点为H2 Database的控制台配置,默认是关闭的,如需使用请将h2.console.settings.web-allow-others和h2.console.enabled设置为true。控制台地址即为域名/h2-console。注意:非紧急情况,不建议开启该配置。server.compression.enabled为Gzip功能配置,如有需要请设置为true,需要注意的是,如果你使用Nginx或者Caddy进行反向代理的话,默认是有开启Gzip的,所以这里可以保持默认。halo.admin-path为后台管理的根路径,默认为admin,如果你害怕别人猜出来默认的admin(就算猜出来,对方什么都做不了),请自行设置。仅支持一级,且前后不带/。halo.cache为系统缓存形式的配置,可选memory和level,默认为memory,将数据缓存到内存,使用该方式的话,重启应用会导致缓存清空。如果选择level,则会将数据缓存到磁盘,重启不会清空缓存。如不知道如何选择,建议默认。
注意:我测试需要将type属性注释掉,才能正常启动halo
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tLGWRacV-1592886815830)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623100245153.png)]](https://code84.com/wp-content/uploads/2022/10/20200623123852298.png)
连接数据库,建立halodb数据库
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jzWsng3u-1592886815833)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623102208741.png)]](https://code84.com/wp-content/uploads/2022/10/20200623123921221.png)
拉取最新的Halo镜像文件
输入命令拉取
docker pull ruibaby/halo
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZRcbtYS2-1592886815836)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623102351216.png)]](https://code84.com/wp-content/uploads/2022/10/20200623123937368.png)
创建容器并运行
docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
- –rm:停止之后自动删除容器。
- –name:容器名。
- -p:占用端口,前者为宿主机端口,后者为 Halo 的运行端口,可在
application.yaml配置。 - -v:目录映射,一般不要修改。
- -d: 后台运行
完成以上操作即可通过 ip:端口 访问了。如果我们有域名,我们还需要让域名也可以访问到 Halo。

个人博客跑起来~~
设置8090入口权限
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ckMtAzdA-1592886815841)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103224885.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124024137.png)
博客初始化
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-img6jbHy-1592886815843)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103201199.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124037938.png)
然后就可以按照提示进行博客的初始化了,个人博客搭建完成,美滋滋
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hH763b7X-1592886815845)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103519630.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124052598.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qmCIIzUZ-1592886815847)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103544267.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124108163.png)
登录
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9cZqMmfC-1592886815849)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103608114.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124119658.png)
进入到了halo的后台界面
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xlIhHmqW-1592886815851)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623103848682.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124136990.png)
http://ip:8090/ 访问博客主页
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrmESpMQ-1592886815853)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623104011318.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124201456.png)
博客的主题设置以及基本使用
至此,我们已经成功搭建了一个可以运行的博客平台,接下来就来讲讲一些基本的操作吧。
个人能力前端有限:涉及到javascript等前端细节优化,请各位老铁自己发挥,同时也希望能够互相沟通交流一波~~~!!
主题设置
可以访问官方推荐的主题:https://halo.run/p/themes.html
大佬自行忽略_

大家可以自行参考选择。
我这里已经下载好了一些主题:来看看如何导入如此美丽酷炫的主题吧!
- 第一步
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z1BjWkzH-1592886815855)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623104853731.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124239821.png)
- 第二步
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P9XxDDXm-1592886815856)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105000567.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124255600.png)
- 第三步:上传
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UZGktQH-1592886815859)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105019744.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124311444.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vdD3c4ka-1592886815860)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105204150.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124322572.png)
- 启用即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lDpm8Sly-1592886815862)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623105246483.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124335839.png)
博客编写
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5CyMLtQV-1592886815863)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623110548706.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124400587.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Hqx96MF-1592886815864)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200623111653650.png)]](https://code84.com/wp-content/uploads/2022/10/20200623124420336.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXeZGaK1-1592886815867)(C:\Users\ASUS\Desktop\test.gif)]](https://code84.com/wp-content/uploads/2022/10/20200623124512662.png)
欢迎关注公众号
获取该博客的pdf稳定版,就来然Coder
关注公众号后输入:【halo博客搭建】即可获得稳定版的.pdf操作文档

至此有关使用halo搭建一个个博客的正确姿势展示完毕,亲测有效,如果对你有所帮助,给个大拇指吧~~~~
版权声明:本文为qq_45744501原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。