首页 文章
取消

腾讯云轻量应用服务器部署halo + caddy

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

Reference

Halo - Github
Halo Documents
caddy install
debian下创建新用户useradd