操作系统:Debian11.1
反向代理服务器:caddy2.x
安装halo
安装open jdk
sudo apt-get install openjdk-11-jre -y
检查jdk是否安装成功
java -version
新建halo用户
groupadd halo
useradd -m halo -g halo -s /bin/bash -d /home/halo
passwd halo
授予halo用户root权限
vim /etc/sudoers
# 在User privilege specification下追加halo ALL=(ALL:ALL) ALL
# User privilege specification
root ALL=(ALL:ALL) ALL
halo ALL=(ALL:ALL) ALL
切换到halo用户并下载halo.jar
su - halo
mkdir ~/app && cd ~/app
wget https://dl.halo.run/release/halo-1.5.2.jar -O halo.jar
mkdir ~/.halo && cd ~/.halo
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
测试运行
cd ~/app && java -jar halo.jar
退出halo用户,切换到root
exit
下载halo.service
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
修改halo.service
vim /etc/systemd/system/halo.service
修改内容如下
User与ExecStart视实际情况而定
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=halo
ExecStart=/usr/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
重新加载systemd
systemctl daemon-reload
启动halo
systemctl start halo
设置在系统启动时启动halo
systemctl enable halo
查看halo启动状态
journalctl -n 20 -u halo
安装caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
配置反向代理
修改/etc/caddy/Caddyfile
vim /etc/caddy/Caddyfile
# 注释掉80端口的配置,增加以下内容
blog.ainoe.one
encode gzip
reverse_proxy 127.0.0.1:8090
重启caddy
systemctl restart caddy
若需要配置多个域名,则写法如下
blog.ainoe.one {
encode gzip
reverse_proxy 127.0.0.1:8090
}
blog.ainoe.cn {
encode gzip
reverse_proxy 127.0.0.1:8090
}