个人博客搭建——Halo

news2024/11/20 6:59:51

1 概述

Halo是一个开源的博客系统,有较多的插件支持,用下来感觉还可以

2 搭建流程

2.1 配置系统环境

需要以下系统环境
1、Ubuntu系统
2、Mysql(替换原生数据库)

2.2 下载jar包

这里选择的是jar包部署
下载路径:https://github.com/halo-dev/halo
或者:https://gitee.com/halo-dev/halo
部署教程参考官网:https://docs.halo.run/getting-started/install/docker-compose/

2.3 部署

cd ~
创建jar包存放目录
mkdir halo2
创建配置文件存放目录
mkdir .halo2
创建配置文件
touch .halo2/application.yaml

配置文件如下

server:
  # 运行端口
  port: 8090
spring:
  # 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
  r2dbc:
    url: r2dbc:pool:mysql://127.0.0.1:3306/halodb?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE
    username: root
    password: 123456
  sql:
    init:
      mode: always
      # 需要配合 r2dbc 的配置进行改动
      platform: mysql
halo:
  caches:
    page:
      # 是否禁用页面缓存
      disabled: true
  # 工作目录位置
  work-dir: /home/xy/.halo2
  # 外部访问地址
  external-url: http://localhost:8090
  # 附件映射配置,通常用于迁移场景
  attachment:
    resource-mappings:
      - pathPattern: /upload/**
        locations:
          - migrate-from-1.x

mysql配置根据自己创建的数据库进行配置,数据库中需要创建一张表:

create database halodb character set utf8mb4 collate utf8mb4_bin;

2.4 配置开机自启动

创建自启动文件

sudo vim /etc/systemd/system/halo.service

配置自启动文件

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
 
[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /home/xy/halo2/halo.jar --spring.config.additional-location=optional:file:/home/xy/.halo2/
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
 
StandError=inherit
 
[Install]
WantedBy=multi-user.target

这里使用java命令来启动jar包,并设置配置路径为.halo文件夹
测试halo启动

systemctl start halo

如果启动成功,可以通过浏览器访问指定ip的8090端口
在这里插入图片描述
这里是之前配置过了,第一次的话所有配置完成就能够进入这个控制台界面

3 Halo的简单使用

3.1 下载应用商店

使用Jar包部署,默认是没有应用商店的,可以在官网下载,并进行安装
应用商店链接:https://www.halo.run/store/apps
在这里插入图片描述
在插件中安装,并开启,然后就可以使用应用商店了,应用商店中可以下载主题及其他插件
在这里插入图片描述
可以下载一些常用的,比如文章导入导出、MarkDown编辑器等

3.2 其他配置

在导入csdn博客时,发现网络图片无法显示,这里需要配置一下

<meta name="referrer" content="no-referrer" />

在这里插入图片描述
这样,导入的markdown格式的博客就能够在halo中正常显示了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过nvm在Win7系统中安装v16.17.0及以上版本的nodejs

操作步骤 1.通过nvm安装node - v16.17.0 nvm install 16.17.0若您尚未安装nvm&#xff0c;请参阅&#xff1a;https://blog.csdn.net/weixin_45687201/article/details/135636453 由于我已经安装过了&#xff0c;这里贴图&#xff1a; 2.配置win7环境变量 1.找到node 16.17.…

【AI大模型】Prompt 提示词工程使用详解

目录 一、前言 二、Prompt 提示词工程介绍 2.1 Prompt提示词工程是什么 2.1.1 Prompt 构成要素 2.2 Prompt 提示词工程有什么作用 2.2.1 Prompt 提示词工程使用场景 2.3 为什么要学习Prompt 提示词工程 三、Prompt 提示词工程元素构成与操作实践 3.1 前置准备 3.2 Pro…

“科技创新‘圳’在变革”2025深圳电子展

电子产业作为现代社会的核心驱动力之一&#xff0c;正以前所未有的速度发展。在这样的背景下&#xff0c;深圳作为中国的经济特区和创新高地&#xff0c;又一次迎来了备受瞩目的盛会——2025深圳电子展览会。本次展览会定于2025年4月9日至11日&#xff0c;在深圳会展中心&#…

vue路由跳转时改变路由参数组件不渲染问题【已解决】

效果展示 解决 router路由为了组件复用&#xff0c;防止组件的频繁销毁与创建&#xff0c;在遇到跳转的路由不一致才会进行重新渲染&#xff0c;路径参数变了他是不会管的&#xff0c;只会改变this.$route对象而已 就这个东西/:xxx 我们可以写一个watch监视this.$route对象。…

virtualbox ubuntu扩充磁盘大小

首先在虚拟存储管理里面修改磁盘大小 然后安装gparted sudo gparted 打开管理工具 选中要调整的区域右键选择调整区域大小 拖动上述位置就可以实现扩容。完成后点击应用 然后重启虚拟机即可。

永结无间Ⅱ--大语言模型最终会代替人类吗?

涵盖的主题 当前大语言模型的缺点为何大语言模型 (LLM) 缺乏常识&#xff1f;自主智能的架构相信超级智能的人的说法源于对智力误解的错误推理环境对个人智力有严格限制智力是外在的&#xff0c;存在于文明发展之中无论人工智能变得多么聪明&#xff0c;它都无法扩展递归式自我…

可达2951题 数位拆分

题目&#xff1a; 思路&#xff1a;从二进制的角度&#xff0c;从0到30位每一位来判断求和&#xff0c;开一个新的数组统计第i位是0和1的个数&#xff0c;a[i]放到0&#xff5e;30位的每一位上&#xff0c;然后将a&#xff3b;i&#xff3d;在第位上为0数量乘以2的次方。 代…

编译之舞:C/C++ 与 GCC 的协作曲

文章目录 一、C/C 编译过程的四个阶段1. 编译之舞的台前幕后2. 舞台布景的准备——预处理3. 舞者的基本训练——编译4. 编舞师的细节调整——汇编5. 合奏的和谐统一——链接 二、舞姿的动作细——编译详细模式三、幕后——GCC 的各种选项&#xff08;Overall Option&#xff09…

Milvus Lite, Milvus Cloud, Standalone, 与 Distributed:组件功能关系深度解析

在大数据时代,高效、灵活的向量搜索解决方案成为了许多企业和研究机构不可或缺的技术支撑。Milvus,作为一款开源的向量数据库,凭借其卓越的性能、可扩展性和易用性,在众多向量搜索引擎中脱颖而出。Milvus 提供了 Lite、Cloud、Standalone、Distributed 四种部署模式,每种模…

55. 跳跃游戏【 力扣(LeetCode) 】

一、题目描述 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 二、测试用…

Python学习笔记44:游戏篇之外星人入侵(五)

前言 上一篇文章中&#xff0c;我们成功的设置好了游戏窗口的背景颜色&#xff0c;并且在窗口底部中间位置将飞船加载出来了。 今天&#xff0c;我们将通过代码让飞船移动。 移动飞船 想要移动飞船&#xff0c;先要明白飞船位置变化的本质是什么。 通过上一篇文章&#xff0…

STM32的GPIO输入输出方式设置示例

1、GPIO口做基本的输入/输出口使用时&#xff0c;输入有上拉输入、下拉输入、浮空输入&#xff08;既无上拉电阻也无下拉电阻&#xff09;3种输入方式&#xff1b;输出有开漏输出、推挽输出2种输出方式。 2、示例 &#xff08;1&#xff09;示例1&#xff1a;GPIO做输出的设置…

【机器学习】pytorch 常用函数解析

目录 一、基本函数介绍 1.1 nn.Module 类 1.2 nn.Embedding 1.3 nn.LSTM 1.4 nn.Linear 1.5 nn.CrossEntropyLoss 1.6 torch.save 1.7 torch.load 1.8 nn.functional 1.9 nn.functional.softmax 本文主要对 pytorch 中用到的函数进行介绍&#xff0c;本文会不断更新~…

【Redis进阶】主从复制

1. 主从结构引入 在分布式系统中&#xff0c;涉及到一个严重问题&#xff1a;单点问题 即如果某个服务器程序只有一个节点&#xff08;单台机器提供服务&#xff09;&#xff0c;就会出现以下两个问题&#xff1a; 可用性问题&#xff0c;如果这台机器挂了&#xff0c;意味着…

Github 2024-07-27开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-27统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2C++项目2C项目2TypeScript项目1JavaScript项目1Java项目1Python项目1C#项目1免费编程学习平台:freeCodeCamp.org 创建周期:33…

jQuery入门(一)

一、JQuery介绍 - jQuery 是一个 JavaScript 库。 - 所谓的库&#xff0c;就是一个 JS 文件&#xff0c;里面封装了很多预定义的函数&#xff0c;比如获取元素&#xff0c;执行隐藏、移动等&#xff0c;目的就 是在使用时直接调用&#xff0c;不 需要再重复定义&#xff0c;这…

iPhone 在 App Store 中推出的 PC 模拟器 UTM SE

PC 模拟器是什么&#xff1f;PC 模拟器是一种软件工具&#xff0c;它模拟不同硬件或操作系统环境&#xff0c;使得用户可以在一台 PC 上运行其他平台的应用程序或操作系统。通过 PC 模拟器&#xff0c;用户可以在 Windows 电脑上体验 Android 应用、在 Mac 电脑上运行 Windows …

Python如何获取终端尺寸?

os.get_terminal_size()&#xff0c;无差别获取当前终端长宽&#xff0c;让你为所欲为。 (笔记模板由python脚本于2024年07月27日 08:30:53创建&#xff0c;本篇笔记适合喜欢钻研的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Fre…

使用命名管道的通信程序, 加入了日志系统

文章目录 日志系统通信程序运行效果 日志系统 // log.hpp #pragma once #include <time.h> #include <iostream> #include <stdio.h> #include <string> #include <stdarg.h> #include <sys/types.h> #include <sys/stat.h> #inclu…

软设之数据库关系代数

数据库关系代数 基本概念 元祖行&#xff1a;水平方向上每一行为一条记录&#xff0c;这个记录对应1个实体。一般称为元祖&#xff0c;元祖行或者记录 属性列&#xff1a;垂直方向上每一列为一个属性&#xff0c;一般称为属性列&#xff0c;字段等。关系表达式中可以用列序号…