侧边栏壁纸
博主头像
编程之家 博主等级

行动起来,活在当下

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

目 录CONTENT

文章目录

如何搭建一个属于自己的博客系统

李航
2025-12-04 / 0 评论 / 0 点赞 / 21 阅读 / 0 字

如何搭建一个属于自己的博客系统

当前流行的博客系统有很多,例如:csdn 、博客园。首先我们要知道博客系统是什么,博客系统对于我们自身有什么好处,我以自身的角度给大家分析下几点。

博客主页.png

为什么要搭建博客系统

我的核心工作是偏it相关,有时遇到技术问题需要再网上搜索解决方案,一般情况下我都会再csdn能找到解决方案,目前主要的博客就是csdn了,绝大部分的问题都有答案,例如:java python c mysql 等等。但是有时候我们遇到技术问题时,当时解决了问题,相关的原理也搞懂了,但是时间长了之后,如果遇到同样的问题我们依然无法想起之前是如何解决的。如果我们有一个自己的博客系统,我就可以将问题记录到博客中,再次遇到相同的问题,只需要在自己的博客中找到相关的文章就能及时解决,自己写的文章能高效、快速的解决。

搭建博客系统需要准备哪些东西

  • 服务器的购买(这里我选用的是阿里云服务器68元一年 价格根据活动会有波动)
  • 域名(14一年)

1234.png

如何选择开源博客

我的博客地址是:www.编程.top
我选择的博客是开源的halo博客系统,不需要我们自己写代码,直接用开源代码就行。地址是:https://www.halo.run/ 根据官方文档一步步来就能实现。

如何选择部署的方式

在官方文档中部署方式有很多,我选择的是JAR文件部署。
在开始之前,需要确保服务器已经满足以下条件:

  • Java 环境,版本要求:
    • 2.21 以上版本:JRE 21 【我选择】
    • 2.20 及以下版本:JRE 17
  • 数据库(任一)
    • MySQL 5.7+ 【我选择】
    • MariaDB
    • PostgreSQL

jdk和mysql安装直接使用宝塔一键安装

安装-在服务器上操作

  1. 创建存放运行包的目录,这里以 ~/app 为例
mkdir ~/app && cd ~/app
  1. 下载运行包
wget https://dl.halo.run/release/halo-2.21.0.jar -O halo.jar
  1. 创建 工作目录
mkdir ~/.halo2 && cd ~/.halo2
  1. 创建 Halo 配置文件
vim application.yaml

将以下内容复制到 application.yaml 中,根据下面的配置说明进行配置
的当前的数据库使用的是mysql,如果你是mysql数据库,你只需要修改数据库名称 用户 密码 即可

server:
  # 运行端口
  port: 8090
spring:
  # 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
  r2dbc:
    url: r2dbc:pool:mysql://localhost:3306/halo
    username: halo
    password: halo
  sql:
    init:
      mode: always
      # 需要配合 r2dbc 的配置进行改动
      platform: mysql
halo:
  # 工作目录位置
  work-dir: ${user.home}/.halo2
  # 外部访问地址
  external-url: http://localhost:8090
  # 附件映射配置,通常用于迁移场景
  attachment:
    resource-mappings:
      - pathPattern: /upload/**
        locations:
          - migrate-from-1.x
  1. 数据库创建
    打开数据库,将sql命令运行,创建一个数据库
    HOST:数据库服务地址,如 localhost
    PORT:数据库服务端口,如 3306
    DATABASE:数据库名称,如 halo,需要提前创建,以 MySQL 为例:
create database halo character set utf8mb4 collate utf8mb4_bin;

配置完成之后,保存即可。
6. 测试运行 Halo

cd ~/app && java -Dfile.encoding=UTF-8 -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/

如果没有观察到异常日志,即可尝试访问 Halo
打开 http://ip:端口号 即可跳转到初始化页面。

如测试启动正常,请继续看作为服务运行部分,第 8 步仅仅作为测试。当你关闭 ssh 连接之后,服务会停止。你可使用 CTRL+C 停止运行测试进程。

  1. 如果没问题配置后台运行
    下面将介绍如何将 Halo 作为服务运行,以实现在关闭 ssh 连接后,Halo 仍然可以正常运行
    创建 halo.service 文件
vim /etc/systemd/system/halo.service

将以下内容复制到 halo.service 中,根据下面的配置说明进行配置。

[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/www/server/java/jdk-21.0.2/bin/java -Dfile.encoding=UTF-8 -server -Xms256m -Xmx256m -jar /root/app/halo.jar --spring.config.additional-location=optional:file:/root/.halo2/
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

ExecStart=/www/server/java/jdk-21.0.2/bin/java 这个是jdk的环境安装路径
/root/app/halo.jar 这个是halo系统jar包的路径
根据自己的路径修改
配置完成之后,保存即可。

  1. 重新加载 systemd
    systemctl daemon-reload
  2. 运行服务
    systemctl start halo
  3. 在系统启动时启动服务

systemctl enable halo
11. 最后,你可以通过下面的命令查看服务日志:

journalctl -n 20 -u halo

配置Nginx反向代理(前提后台能正常访问)

打开宝塔面板安装nginx

nginx.png

添加反向代理

我们访问的地址是ip:8090这样不是很方便,我们需要通过域名访问,所以需要配置反向代理。
反向dialing.png

服务器配置域名解析

在阿里云服务器上配置域名解析

域名.png

我的博客

我的博客主题采用博客系统应用商城一键安装,没有使用默认主题。主题有很多可以自己安装。

博客主页.png

0

评论区