Deploy hugo Blog to VPS |部署Hugo博客到VPS

caddy 是一个 Go 语言实现的面向 HTTP2 和 HTTPS 的服务器,与 Nginx 和 Apache 相比,是一款激进的面向未来的浏览器;
Hugo 是一款由 Go 语言实现的静态网站生成器,相对 Jekyll / Hyde / Hexo 这几个流行的静态站生成器,Hugo 的功能更加强大,扩展性更优。
在开启 Caddy 的 git 插件后,借助 GitHub 的 webhook 特性便可实现博客自动化部署!

安装

caddy

官网 https://caddyserver.com/download 下载。勾选http.git http.hugo插件 or 通过脚本安装:

1
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.git,http.hugo

#备用地址

1
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.git,http.hugo

查看Caddy启动日志:tail -f /tmp/caddy.log

安装目录:/usr/local/caddy

hugo

方式1:

1
snap install hugo (~~centos7 不支持~~)

方式2 :

1
2
download hugo_0.37.1_Linux-64bit.deb
dpkg -i hugo_0.37.1_Linux-64bit.deb

hook配置

将本地的 Hugo 博客推到 GitHub 代码仓库,并新建一个 webhook 及其密码

自备梯子查看 YouTube 上的视频教程:Caddy server Git add-on tutorial

简单的Caddyfile配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
http://www.wjis.me https://www.wjis.me {
tls /etc/ssl/caddy/fullchain.cer /etc/ssl/caddy/*.wjis.me.key
redir https://wjis.me{uri}
}

http://wjis.me https://wjis.me {
redir 301 {
if {>X-Forwarded-Proto} is http
/ https://{host}{uri}
}
gzip
header / -Server
tls /etc/ssl/caddy/fullchain.cer /etc/ssl/caddy/*.wjis.me.key
log /usr/local/caddy/logs/blog/access.log
gzip
root /var/www/wjis.me
header / Strict-Transport-Security "max-age=31536000;includeSubDomains;preload"

git git@gitee.com:jatsh_admin/hugo_blog.git {
key /root/.ssh/id_rsa
path /data/blog
then hugo --destination=/var/www/wjis.me
hook /webhook xxxxxx
hook_type generic
clone_args --recursive
pull_args --recurse-submodules
}
hugo
}
分享到: