Contents

caddy hugo git部署博客系统

Caddy 存在的意义在于不需要繁琐的编译 Nginx、Apache,只需要运行 Caddy 就完成了 HTTP 服务器的搭建,如果你有自己的域名,还能自动配置 Let’s Encrypt 实现 HTTPS 加密,使用的是 HTTP/2 协议.

hugo安装

下载

1
2
3
4
5
6
7
8
9
# ubuntu
sudo apt-get update
sudo apt-get install hugo
# centOS
yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/daftaupe/hugo/repo/epel-7/daftaupe-hugo-epel-7.repo
yum install hugo

hugo new site website-name
cd website-name

基础设置

1
2
3
4
cd themes
git clone https://github.com/Vimux/mainroad.git themes/mainroad
cd ..
echo 'theme = "mainroad"' >> config.toml

caddy web server

20190729更新

caddy的hugo插件已经停用,具体的下载安装代码可以在https://caddyserver.com/
上面进行选择自行生成

1
2
3
4
CADDY_TELEMETRY=on curl https://getcaddy.com | bash -s personal docker,hook.service,http.git,http.hugo
# 获得 80 / 443 端口访问权限
setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
mkdir -p /var/www/{website-name,repo}

caddy设置文件(这个hook功能十分有用,在本地更新文章push到github中,服务器的页面就会自动更新)

website-name.com {
    log /home/access.log
    gzip
    root /var/www/blog/public
    git {
        repo https://github.com/you-user-name/repo-name.git
        path /var/www/blog
        clone_args --recursive
        pull_args --recurse-submodules
        hook /webhook yourpassword
        hook_type github
        then hugo --destination=/var/www/public
        interval 3600
    }
}

caddy service

1
2
3
4
5
6
7
8
9
caddy -service install -agree -email [email protected] -conf /path/to/Caddyfile [-name optionalServiceName] [-option optionValue]
#Uninstall a Caddy service:
caddy -service uninstall [-name optionalName]
#Start a Caddy service:
caddy -service start [-name optionalName]
#Stop a Caddy service:
caddy -service stop [-name optionalName]
#Restart a Caddy service:
caddy -service restart [-name optionalName]

版本控制

1
2
3
4
5
6
7
ssh-keygen -t rsa -C "your-email-address"
git init
git add --all
git commit -am "initial commit"
# 在github上建立仓库
git remote add origin [email protected]:you-repo.git
git push -u origin master

其他细节

评论功能(默认的评论需要翻墙)

申请一个disqus帐号,选择在网站上安装disque选项后填写相关信息

最后在配置文件里将shortname替换为自己注册的short-name就可以了
disqusShortname = “shortname” # Enable comments by entering your Disqus shortname

代码高亮

在配置文件里加上
pygmentsUseClassic=true
之后在终端运行

1
hugo gen chromastyles --style=monokai > syntax.css

使用时参考以下格式

{{< highlight bash\ >}}
// … code
{{< / highlight >}}

参考

  1. 使用nginx搭建hugo静态blog服务:http://www.singleye.net/2017/01/%E4%BD%BF%E7%94%A8nginx%E6%90%AD%E5%BB%BAhugo%E9%9D%99%E6%80%81blog%E6%9C%8D%E5%8A%A1/
  2. 使用Caddy和Hugo构建个人博客 :https://sqh.me/tech/host-hugo-blog-using-caddy/
  3. 零基础使用Hugo和GitHub Pages创建自己的博客:https://jimmysong.io/posts/building-github-pages-with-hugo/
  4. 利用 Caddy 和 Hugo 实现博客的自动化部署 :https://laozhu.me/post/deploy-blog-with-caddy-and-hugo/
  5. 用hugo与caddy搭配来组建我的博客 :https://jtree.cc/post/%E7%94%A8hugo%E4%B8%8Ecaddy%E6%90%AD%E9%85%8D%E6%9D%A5%E7%BB%84%E5%BB%BA%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2/