个人博客搭建

本文通过实践讲解如何使用halo搭建个人博客,非常适合新人学习。本文并不会涉及服务器端编程、操作系统和网络通信的知识,只需要花费30分钟便可搭建您的个人博客网页。

前期准备

1.云服务器
我使用的是腾讯云服务器,也可以使用其他云服务器,例如阿里云等等。
2.域名
可以在万网查询并注册自己的域名。注:如果不想注册域名也可以使用IP进行访问。
3.系统环境
⑴. CentOS 服务器
⑵. JRE 运行环境
⑶. Nginx Http服务器
⑷. FinalShell连接云服务器软件

配置云服务器

首先在腾讯云上购买一个云服务器,复制公网IP,使用连接工具连接云服务器
防火墙开放端口
cloud_server_ports

在Linux上部署Halo

官方文档

1.依赖检查

目前运行 Halo 的最低依赖要求为 JRE 11,请务必确保在进行下面操作之前已经正确安装了 JRE。
CentOS安装

sudo yum install java-11-openjdk -y

检查版本:

java -version

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

2.安装

首先创建新的系统用户不推荐直接使用系统 root 用户来运行 Halo。如果您需要直接使用 root 用户,请跳过这一步。创建一个名为 halo 的用户(名字可以随意)

useradd -m halo

给予 sudo 权限

usermod -aG wheel halo

为 halo 用户创建密码

passwd halo

登录到 halo 账户

su - halo

创建存放 运行包 的目录,这里以 ~/app 为例

mkdir ~/app && cd ~/app

下载运行包

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

如果下载速度不理想,可以 在这里 选择其他下载地址。
创建 工作目录

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

下载示例配置文件到 工作目录

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml 

编辑配置文件,配置数据库或者端口等,如需配置请参考 配置参考

vim application.yaml

测试运行 Halo

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

如看到类似以下日志输出,则代表启动成功。
halo_start_succeed
打开 http://ip:端口号 即可看到安装引导界面。
如测试启动正常,请继续看作为服务运行部分,第 8 步仅仅作为测试。当你关闭 ssh 连接之后,服务会停止。你可使用 CTRL+C 停止运行测试进程。

3.作为服务运行

退出 halo 账户,登录到 root 账户,如果当前就是 root 账户,请略过此步骤。

exit

下载 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

修改配置
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=USER
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 中的命令复制出来运行一下,保证命令有效。

重新加载 systemd

systemctl daemon-reload

运行服务

systemctl start halo

在系统启动时启动服务

systemctl enable halo

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

journalctl -n 20 -u halo

结尾

进行到这一步就可以通过IP访问服务器并对Halo进行初始化设置。
这是我的博客 https://gxjblog.com
注:http://ip或域名/admin 这是博客后台地址,要账号密码才能进后台
网站域名购买后先备案,(购买72后才可以备案)
下篇文章介绍反向代理,使用域名代替IP