操作系统: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
}