返回
Featured image of post 五一假期,重整我的个人博客

五一假期,重整我的个人博客

前言

去年海外VPS上使用hexo+butterfly构建博客系统,体验还不错,文档、主题资源都很全。但hexo是nodejs开发,因为我对nodejs一窍不通当时搭建时倒腾了半天。所以这次重建博客系统我计划使用hugo。Hugo是由Go语言实现的静态网站生成器,因为是golang开发编译速度很快且hugo只有一个执行程序很简洁。

博客系统安装

博客搭建基于centos7系统,以下是我使用hugo-theme-stack主题调整修改的模板。有需要可直接食用,不用过多优化配置。

# 升级libstdc++
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
wget http://mirror.ghettoforge.org/distributions/gf/el/7/gf/x86_64/gf-release-7-12.gf.el7.noarch.rpm
rpm -Uvh gf-release-7-12.gf.el7.noarch.rpm
yum install gcc10-libstdc++
rpm -ql gcc10-libstdc++.x86_64
cp /opt/gcc-10.2.1/usr/lib64/libstdc++.so.6.0.28 /usr/lib64/
cd /usr/lib64
mv  libstdc++.so.6  libstdc++.so.6.20240422
ln -s libstdc++.so.6.0.28 libstdc++.so.6
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 

# 安装git 
yum install git 

# 安装hugo命令(一定要安装extended版本)
wget https://github.com/gohugoio/hugo/releases/download/v0.125.5/hugo_extended_0.125.5_linux-amd64.tar.gz
tar -zxvf hugo_extended_0.125.5_linux-amd64.tar.gz
mkdir -p ~/bin && mv hugo ~/bin
hugo version

# 解压博客模板(见附件hugo-theme-stack主题并部分修改)
mkdir -p ~/www
tar -zxvf site.20240501.tar.gz -C www

# 部署
cd site
hugo #生成静态页面,执行命令后会生成public目录,该目录就是所有网站内容

#nginx.conf相关配置
user  xiaoming;#注意nginx权限
server {
        if ($request_method !~* GET|POST) {
            return 403;
        }
        listen 80;
        server_name www.demo.com; #80端口自动跳转443
        rewrite ^(.*)$ https://${server_name}$1 permanent;
    }

    server {
        if ($request_method !~* GET|POST) {
            return 403;
        }
        listen                443 ssl;
        ssl_certificate       /home/xiaoming/etc/www.demo.crt; #网站证书
        ssl_certificate_key   /home/xiaoming/etc/www.demo.key; #网站私钥
        access_log           /home/xiaoming/log/nginx/service.log main;
        charset              utf-8;

        location / {
            root  /home/xiaoming/www/site/public; #hugo生成静态网站路径
            index index.html index.htm;
        }
    } 

文件结构

── site
    ├── archetypes	 #文章内容模板
    ├── assets		 #存放图标、图片、js(ts)脚本文件,css(scss)样式文件;
    ├── content		 #文章、页面、分类页面等文件
    │   ├── categories	 #分类页面目录。
    │   ├── page		 #归档、友链、关于之类页面的目录。
    │   └── post		 #存放博客文件的目录。
    ├── layouts		 #网页布局文件
    ├── public		 #hugo编译后的网站文件夹;
    ├── resources
    ├── static            #全局图片等静态文件
    │   └── img
    │   └── file
    └── themes

日常写作

  1. 创建文章
  • 单文件模式,一个文件就是一片内容(优点是简洁,一篇文章对应一个md文件。缺点就是附件难管理,只能放在全局静态资源下site/static/img,引用时![图名](/img/image.png)
    hugo new post/xxxx.md
  • 文件夹模式,一个目录就是一片内容(与单文件模式相反,但是文章附件可以和内容放在一起方便后期维护管理,引用时直接用图片名就可以![图名](image.png)
    hugo new post/xxxx/index.md
  1. 修改md文件draft: false
  2. 执行hugo重新生成public内容

site.demo

参考

Centos更新lib库[踩坑记录]
第三夏尔-博客建站
(3)Stack主题的自定义
hugo stack 主题美化
基于 Hugo 的网站搭建日志 01

Licensed under CC BY-NC-SA 4.0