前言:java环境为11
[openjdk-11+28_linux-x64_bin.tar.gz]
安装
建新的系统用户信息
不推荐直接使用系统 root 用户来运行 Halo。如果您需要直接使用 root 用户,请跳过这一步。
创建一个名为 halo 的用户(名字可以随意)
#新建用户
useradd -m halo
#给予 sudo 权限
usermod -aG wheel halo
#为 halo 用户创建密码
passwd halo
#登录到 halo 账户
su - halo
创建存放 运行包 的目录,这里以 ~/app 为例
mkdir ~/app && cd ~/app
下载运行包
[halo.jar]
#从官网拉
wget https://dl.halo.run/release/halo-1.6.0.jar -O halo.jar
#新建工作目录
mkdir ~/.halo && cd ~/.halo
#下载示例配置文件到 工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
编辑配置文件,配置数据库或者端口等,如需配置请参考 配置参考
#vim application.yaml
server:
port: 8060
# 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://xxxxx:xxxx/xxx?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: xxx
password: xxx
# 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
启动java包
export JAVA_HOME=/usr/local/jdk-11;export PATH=$JAVA_HOME/bin:$PATH; export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;java -jar halo.jar
作为服务运行
退出 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
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=USER
ExecStart=/usr/local/jd-11/bin/java -server -Xms256m -Xmx256m -jar /home/halo/app/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
修改配置
YOUR_JAR_PATH:
Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。
USER:
运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER。
提示:请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。
#重新加载 systemd
systemctl daemon-reload
#运行服务
systemctl start halo
#在系统启动时启动服务
systemctl enable halo
#您可以查看服务日志检查启动状态
journalctl -n 20 -u halo