一、安装java环境

halo的简介:一款现代化的个人独立博客系统,拥有多主题,扩展性高,支持本地存储或第三方存储服务,独特的评论系统等诸多特点。我看中了halo所呈现给我的视觉享受,我觉得这种风格的博客简直不要太酷,所以花了两三天时间研究了一下,便开始在云服务器上部署halo。以下是我的部署过程,和官方不太一样,但是大同小异。

halo官方网站
halo主题仓库
用户文档
halo在线社区

服务器系统基于ubuntu 1804,官网是centos 7.x,linux系统是大同小异的,除了包管理器上的不同外,其他操作相关性非常大。同时halo运行于java环境,所以需要安装java环境。

更新软件包

确保服务器的软件包是最新的

apt-get update -y

安装java环境

安装openJRE

apt-get install openjdk-8-jre

验证JRE是否安装成功

java -version

二、下载及修改配置文件

其实我们可以自己编写配置文件,但是官方提供了现成的配置文件,我们就可以直接下载到服务器上了

halo1.png

下载配置文件到~/.halo目录

curl -o ~/.halo/application.yaml --create-dirs http://halo.ryanc.cc/config/application-template.yaml

修改配置文件

vim ~/.halo/application.yaml
内容如下:
server:
  port: 8090  #port后面可以自定义端口
# Gzip的功能设置,如果采用了nginx反向代理,默认开启了gzip,所以这里可以保持默认
  compression:
    enabled: false
spring:
  datasource:
# H2 数据库配置
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: ***********  #修改数据库用户名
    password: ***********  #修改数据库密码

# H2数据库控制台配置
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

halo:
#后台管理的根路径,默认为admin
  admin-path: admin
# 系统缓存形式配置,可选memory或者level,默认memory,将数据缓存到内存,使用该方式的话,重启应用会导致缓存清空。如果选择level,则会将数据缓存到磁盘,重启不会清空缓存,如果不知道如何选择,建议默认
  cache: memory

三、测试halo

halo2.png
Halo的整个额外文件全部存放在~/.halo目录下。一定要保证~/.halo目录的存在,博客的所有资料都在其中。
Halo安装包(halo的整个应用程序是一个jar包,且不包含用户的任何配置)放在任何目录都是可行的,无需担心该安装包的安危,因为它仅仅是个服务而已

下载halo安装包

提供了两种方法:
01、下载最新版的halo-latest.jar(halo安装包)

wget http://halo.ryanc.cc/release/halo-latest.jar -O halo-latest.jar

02、前往https://github.com/halo-dev/halo/tags ,下载最新的jar包
下载完成后,scp halo安装包本机绝对路径 root@服务器IP:/root
输入服务器密码,即可将halo安装包上传至服务器

测试halo

启动测试

java -jar halo-latest.jar

测试结果:halo start at http://127.0.0.1:8090/

halo3.png

开机自启halo

以上测试完成后,如果关闭SSH连接,那么halo也将被关闭,如果想要服务器常年开机自启halo,那么需要借助linux系统的systemd程序来完成该项任务

下载halo官方现成的halo.service模板(也可以自行编写)

curl -o /etc/systemd/system/halo.service --create-dirs http://halo.ryanc.cc/config/halo.service

修改halo.service

vim /etc/system/system/halo.service
halo.service内容如下:
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
#-Xms256m为JVM启动时分配的内存,请按服务器的内存做出适当调整,1G内存的服务器推荐设置256,默认为256
#-Xmx256m为JVM运行过程中分配的最大内存,配置同上
# YOUR_JAR_PATH ,halo-latest.jar的绝对路径
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar 此处填halo-latest.jar的绝对路径
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

修改service文件之后需要刷新systemd

systemctl daemon-reload

halo开机自启

systemctl enable halo.service

halo运行状态

service halo status

测试访问:“服务器IP:8090” 出现下图则成功
halo4.png

tips:暂时不要博客初始化!


保持一个积极向上的良好心态,分享网络技术!