博客搭建系列一Halo安装

一、云服务器购买

阿里云每年都有开发者成长计划,对新人很划算,最近出了2核2G,60G云盘,比以前好很多,老用户选择第二种续费,也够用。

二、云服务器环境安装

mysql,nginx等先通过Docker安装,如果是选择Linux安装halo,还需要安装对应版本的java环境,Docker安装halo则直接命令行运行容器即可。

2.1 Docker环境安装

Docker安装,可以参考之前写的笔记Docker系列一概述与安装

2.2 mysql容器启动与配置

Docker安装mysql,可以参考之前写的笔记Docker系列四部署应用

2.3 nginx容器启动与配置

Docker安装nginx,可以参考之前写的笔记Docker系列四部署应用

2.4 java环境配置

2.4.1 下载JDK和JRE

Orcale官网下载,官网下载需要登录账号密码,可以使用由好心人提供的Oracle公共账号和密码我直接贴出来了

账户:3028064308@qq.com
密码:OraclePassword123!

2.4.2 解压安装

cd /usr/local
mkdir java && cd java
#将下载的文件放在指定的目录/usr/local/java,然后解压
tar -zvxf jdk-8u202-linux-x64.tar.gz

2.4.3 修改环境变量

#编辑配置文件
vim /etc/profile

# 在最末尾加上
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

#最后执行一下
source /etc/profile

#测试一下,输出版本号即算完成
java -version

三、Linux安装halo

这里可以结合官方文档

3.1 下载运行包

cd /usr/local
mkdir halo && cd halo
wget https://dl.halo.run/release/halo-1.4.0.jar -O halo-latest.jar

3.2 创建工作目录

mkdir ~/.halo && cd ~/.halo

3.3 下载并编辑配置文件

#下载
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
#编辑
vim application.yaml

这里需要创建好halodb数据库,表结构无须担心,初次访问博客后会自动创建好,下面是我的配置文件:

#编辑信息,配置数据库或者端口等
server:
  #端口号
  port: 9090 
  # Response data gzip.
  compression:
    enabled: false

spring:
  datasource:
    # 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: #数据库名
    password: #你的数据库密码

halo:
  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level
  cache: memory

3.4 测试运行 Halo

cd /usr/lcoal/halo && java -jar halo-latest.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!

#测试启动成功后,可以通过ctrl + c停止halo

3.5 配置halo服务

#下载 Halo 官方的 halo.service 模板
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
#修改 halo.service
vim /etc/systemd/system/halo.service

以下是我的配置:

#我的配置如下
[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
#执行用户
User=root
#对应的启动命令,注意halo-latest.jar的位置
ExecStart=/usr/local/java/jdk1.8.0_202/bin/java -server -Xms256m -Xmx256m -jar /usr/local/halo/halo-latest.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

重新加载 systemd

systemctl daemon-reload

运行服务

systemctl start halo

在系统启动时启动服务

systemctl enable halo

您可以查看服务日志检查启动状态

journalctl -n 20 -u halo

四、Docker安装halo

4.1 创建工作目录

mkdir ~/.halo && cd ~/.halo

4.2 下载并编辑配置文件

#下载
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
#编辑,和上面一样
vim application.yaml

4.3 拉取镜像并启动

#拉取halo:1.4.16镜像
docker pull halohub/halo:1.4.16
#启动halo容器
docker run -it -d --name halo -p 9090:9090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.4.16

五、Halo访问

通过http://ip:端口/admin初次访问,配置账号密码信息就行了。到这就算启动完成,接下来就是博客配置和主题配置了,放到下一节来说。