利用halo搭建个人博客

原文链接
https://www.gumizhu.top/archives/个人博客搭建

利用halo搭建个人博客教程

1. 云服务器

由于之前浪费了腾讯云的 新客专享 资格,故本次使用 阿里云 轻量应用服务器来搭建 个人博客网站

1.1 云服务购买

登录阿里云官方,搜索 服务器 ,选择里面的 轻量应用服务器,即可出现轻量服务器的明细页面

利用halo搭建个人博客_第1张图片

点击 立即购买 ,弹出右边的配置选项。地区选择一个 就近地区 ,这里我选择的是 西南1(成都);镜像推荐选择 系统镜像 里面的 CentOS 7.6 ;后面就是数据盘和其他一些配置选择,默认即可。填写完配置之后,付款,即可收获一台属于自己的轻量应用服务器。

进入阿里云的 轻量应用服务器管理控制台 ,就会出现如下类似页面:

利用halo搭建个人博客_第2张图片

配置是 2核-2GB内存-系统盘 50GBESSD - 成都 ,搭建个人博客是绰绰有余了(手动滑稽)

2. 软件环境安装

步骤1中的服务器购买成功之后,你就在云端拥有一台属于自己的云服务器。博主选择的是云服务器系统是CentOS 7.6,下面介绍基于CentOS系统安装软件运行环境JRE的安装

目前运行 Halo 的最低依赖要求为 JRE 11,直接选择安装对应版本的JDK即可,推荐使用OpenJRE,不推荐 Oracle 版本。

安装JDK:

sudo yum install java-11-openjdk -y

检查版本:

java -version

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

openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)

3 安装halo博客系统

  1. 创建新的系统用户

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

      useradd -m halo
      
    • 给予 sudo 权限

      usermod -aG wheel halo
      
    • 为 halo 用户创建密码

      passwd halo
      
    • 登录到 halo 账户

      su - halo
      
  2. 创建存放 运行包的目录,这里以 ~/app 为例

    mkdir ~/app && cd ~/app
    
  3. 下载运行包

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

    备注: 目前运行包已经有最新的1.6.0版本,这里我选择的是1.5分支的最新版本

  4. 创建 工作目录

    mkdir ~/.halo && cd ~/.halo
    
  5. 下载示例配置文件到 工作目录

    wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml 
    
  6. 编辑配置文件,配置数据库或者端口等

    vim application.yaml
    

    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/Shan
    ghai&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
    

    备注: 我是直接使用内置的H2数据库,跳过了MySQL数据库的安装过程

  7. 测试运行 Halo

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

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

    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!
    

打开 http://ip:端口号 即可看到安装引导界面。

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

4 作为服务运行

  1. 退出 halo 账户,登录到 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 替换为运行halo的系统用户,若按照上面创建用户 替换为所创建的用户即可
      User=USER
      # YOUR_JAR_PATH 替换为halo.jar包的绝对路径
      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
      

      注意: 请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

  5. 重新加载 systemd

    systemctl daemon-reload
    
  6. 运行服务

    systemctl start halo
    
  7. 在系统启动时启动服务

    systemctl enable halo
    
  8. 查看服务日志检查启动状态

    journalctl -n 20 -u halo
    

你可能感兴趣的:(程序人生,阿里云,服务器,腾讯云)