快速搭建
linux安装halo官方文档:https://docs.halo.run/install/linux
先去官网下载:https://dl.halo.run/release/
也可以使用wget下载到服务器: wget https://dl.halo.run/release/halo-1.4.8.jar
安装java环境:yum install java-11-openjdk -y
启动halo:java -jar halo-1.4.8.jar
访问默认的http://ip:8090即可进入安装引导界面,如果无法访问检测以下防火墙是否开启,如果开启了是否允许该端口被访问(比如阿里云就需要去控制台添加相应访问规则)
注:如果启动时报错,那可能jdk版本不兼容,比如你用jdk1.8去启动halo-1.4.8.jar就会报错,我之前是之前yum安装的java-1.8.0-openjdk,就报错了,当时便有了以下思路,一用低一点版本的halo,如halo-1.4.6.jar去适配jdk1.8,二可以选择卸载原有jdk,安装更高版本的jdk,三使用docker搭建halo,与宿主机分离,不改变宿主机环境
此处我选择了第二个方法,原因是软件用新不用旧,旧版本虽然稳定,但是存在漏洞的概率也更高(或者有的软件旧版本本就存在着一些漏洞),对于有的软件我们是“能用就行,绝不升级”的原则,但这个halo我们还是尽量用新版。直接yum remove java-1.8.0-openjdk
,然后yum install java-11-openjdk -y
,但是使用java -version
还是显示1.8的,于是rpm -qa|grep jdk
,找到1.8的jdk的包名使用rpm -e 完整包名
进行卸载,此时再用java -version
发现jdk版本是11了,也能正常启动halo了
更高的安全性
以下教程来自官方文档
创建新用户和工作目录(如果你是以root身份运行halo服务那么跳过此步骤,如果想要服务器安全性更高可以按照以下步骤操作):
useradd -m halo //创建halo用户,-m在创建用户时创建其家目录
usermod -aG wheel halo //添加sudo权限,关于wheel用户组请自行百度
passwd halo //设置密码
su halo //切换到用户halo
创建工作目录(这里选择的halo的家目录):
mkdir ~/app && cd ~/app
下载halo:
wget https://dl.halo.run/release/halo-1.4.8.jar -O halo.jar
下载示例配置文件(该文件需要放在~/.halo
文件夹中):
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
运行halo:
cd ~/app && java -jar halo.jar
我们还可以把后台路径改掉,在配置文件application.yaml
中修改即可:
作为服务运行
如果是halo,执行exit退出到root用户
依次执行:
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/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
重新加载systemd:
systemctl daemon-reload
运行服务:
systemctl start halo
halo全站恢复
此次实验将阿里云centos7的整站备份传到VMware的centos7中,
解压将.halo文件夹覆盖,启动halo服务,完美移植,爽
实验环境:
centos7
halo版本1.4.8
java环境jdk11
最后
来看看本人Sakura主题的halo博客效果吧:http://www.sillage.wang/
有什么问题多看官方文档,写得比较详细,此处就不搬运了:https://docs.halo.run/