Featured image of post 搭建hugo博客

搭建hugo博客

这是关于搭建本博客的过程

前提:本文档默认你已经拥有一台公网可以访问的云服务器

一、Hugo程序安装

  • 下载

Hugo 是一个基于Go 语言的框架,可以通过解析markdown文件快速生成静态页面,从而快速方便的创建属于自己的博客。搭建博客的第一步我们先要下载程序,首先访问Hugo的github地址,进入release页面下载最新的程序安装包即可(我使用的是extends和x64版本),然后wget到服务器即可。

1
$ wget https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Linux-64bit.tar.gz
  • 解压(本文档以解压到/srv为例)
1
2
$ mkdir -p /srv/hugo-server
$ tar -xvf hugo_extended_0.102.3_Linux-64bit.tar.gz -C /srv/hugo-server
  • 命令全局化
1
$ ln -s /srv/hugo-server/hugo /usr/local/bin/hugo
  • 测试程序是否正常
1
2
$ hugo version
hugo v0.102.3-b76146b129d7caa52417f8e914fc5b9271bf56fc+extended linux/amd64 BuildDate=2022-09-01T10:16:19Z VendorInfo=gohugoio

如果Glibc有如下报错可以参考这个:

https://blog.51cto.com/u_15077539/4006484

二、创建博客

  • 创建工程

在/srv/hugo-server目录执行创建命令:

1
$ hugo new site foxblog
  • 下载主题

直接git命令把主题拉取下来:

1
$ git clone https://github.com/CaiJimmy/hugo-theme-stack/ themes/hugo-theme-stack
  • 复制主题的文件到当前工程
1
2
3
4
# dir in /srv/hugo/foxblog
$ cp -r themes/hugo-theme-stack/exampleSite/content/* content/
$ rm -f config.toml
$ cp themes/hugo-theme-stack/exampleSite/config.json ./
  • 调整配置

这里都是一些个性化的配置了,随你自己去调整。

三、域名和服务器

域名其实可以使用github的域名,我为了更有辨识度一点,自己在aliyun购买了域名,并进行了备案,然后配置dns解析到自己的云主机。

四、配置反向代理

使用Let’s Encrypt免费申请一个tls的证书(具体的操作百度吧,挺简单的)。然后编译安装nginx(其实你也可以二进制安装),然后配置了nginx的反向代理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
server {
        listen 443 ssl http2;
        listen [::]:443 http2;
        ssl_certificate       /data/h2c.tech.crt;
        ssl_certificate_key   /data/h2c.tech.key;
        server_name h2c.tech;
        index index.html index.htm;
        error_page 400 = /400.html;

        location /
        {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:1313;
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
}

启动nginx

五、启动hugo

1
$ hugo server --config /srv/hugo-server/foxblog/config.yaml -p 1313 --baseUrl=https://h2c.tech