作为一个萌新Gopher,经常逛网站能看到那种极简的博客,引入眼帘的不是花里胡哨的图片和样式,而是黑白搭配,简简单单的文章标题,这种风格很吸引我。正好看到煎鱼佬也在用这种风格的博客,于是卸载了我的wordpress开始抄袭,o(* ̄︶ ̄*)o

Hugo简介

Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。

准备和环境

我直接在我的阿里云服务器上使用hugo了,环境如下:

  • 操作系统:公共镜像CentOS 8.1 64位
  • Nginx版本:Nginx 1.16.1
  • 域名:kingram.top
  • 阿里云服务器:8.136.204.132

Hugo使用

安装Hugo

由于我用的是Linux系统,直接wget下载安装就好了,其他系统参考Hugo中文文档其他版本参考Hugo Releases

cd ~
wget https://github.com/gohugoio/hugo/releases/download/v0.85.0/hugo_0.85.0_Linux-64bit.tar.gz
tar -zxvf hugo_0.85.0_Linux-64bit.tar.gz
mv hugo /usr/bin/

检查是否安装成功

hugo version

输出

hugo v0.85.0-724D5DB5 linux/amd64 BuildDate=2021-07-05T10:46:28Z VendorInfo=gohugoio

就说明安装成功啦

创建blog站点

在当前目录执行命令创建blog站点

hugo new site myblog

这个myblog就是项目的名字了,创建的目录如下

├── archetypes
│ └── default.md
├── config.toml # 博客站点的配置文件
├── content # 博客文章所在目录
├── data
├── layouts # 网站布局
├── static # 一些静态内容
└── themes # 博客主题

我们的博客文章就放在content目录下的posts中,只需要按照Markdown格式编写,hugo就会读取到文章然后展示在博客中。

安装主题

不用主题是无法使用hugo的,我这里用的是hermit主题,开发者是Track3,然后我魔改了下,抄袭了煎鱼佬的样式,改为了黑白结合的。

安装依次执行以下命令:

cd myblog
# clone到
git clone https://github.com/Track3/hermit.git ./themes/hermit

使用主题

hermit主题中exampleSite目录下的内容拷贝到当前目录myblog

cp themes/hermit/exampleSite/* ./ -r

可以通过修改config.toml文件来更改配置

贴上我的config.toml文件配置,是抄了煎鱼佬(#.#)

baseURL = "http://kingram.top"
languageCode = "zh-hans"
defaultContentLanguage = "en"
title = "Kingram"
theme = "hermit"
# enableGitInfo = true
pygmentsCodefences = true
pygmentsUseClasses = true
# hasCJKLanguage = true # If Chinese/Japanese/Korean is your main content language, enable this to make wordCount works right.
rssLimit = 10 # Maximum number of items in the RSS feed.
copyright = "This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License." # This message is only used by the RSS template.
enableEmoji = true # Shorthand emojis in content files - https://gohugo.io/functions/emojify/
googleAnalytics = "UA-166045776-1"
# disqusShortname = "yourdiscussshortname" [author]
name = "Kingram" [blackfriday]
# hrefTargetBlank = true
# noreferrerLinks = true
# nofollowLinks = true [taxonomies]
tag = "tags"
# Categories are disabled by default. [params]
since = "2018"
toc = true customCSS = ["css/a.css"] dateform = "Jan 2, 2006"
dateformShort = "Jan 2"
dateformNum = "2006-01-02"
dateformNumTime = "2006-01-02 15:04 -0700" # Metadata mostly used in document's head
# description = ""
# images = [""] # homeSubtitle = "Coding, Thinking, Life"
footerCopyright = ' · <a href="http://beian.miit.gov.cn/">苏ICP备2021012652号</a>'
# bgImg = "" # Homepage background-image URL # Prefix of link to the git commit detail page. GitInfo must be enabled.
# gitUrl = "https://github.com/username/repository/commit/" # Toggling this option needs to rebuild SCSS, requires Hugo extended version
justifyContent = false # Set "text-align: justify" to `.content`. relatedPosts = false # Add a related content section to all single posts page code_copy_button = true # Turn on/off the code-copy-button for code-fields # Add custom css
# customCSS = ["css/foo.css", "css/bar.css"] # Social Icons
# Check https://github.com/Track3/hermit#social-icons for more info. [[params.social]]
name = "github"
url = "https://github.com/k1ngram4" [menu] [[menu.main]]
name = "文章"
url = "posts/"
weight = 10 [[menu.main]]
name = "标签"
url = "tags/"
weight = 10 [[menu.main]]
name = "关于"
url = "about/"
weight = 20

设置好配置文件后在myblog目录下执行hugo命令即可生成public文件夹,这个文件夹就是我们站点的根目录文件夹,后面nginx中部署时指定的根目录也是这个。如果想使用github pages只要将这个目录放在github托管,每次改完提交即可。

hugo

使用Nginx部署

安装Nginx

dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm

执行命令查看nginx版本

nginx -v

配置Nginx

修改nginx配置文件的用户,否则后面会出现权限问题

vi /etc/nginx/nginx.conf

按i进入编辑模式

修改user nginx;user root;

按下Esc键,并输入:wq保存退出文件。

修改配置文件

cd /etc/nginx/conf.d
vi default.conf

按i进入编辑模式

location大括号内,修改以下内容。

location / {
#将该路径替换为您的网站根目录。
root /root/myblog/public/;
#添加默认首页信息
index index.html index.htm;
}

按下Esc键,并输入:wq保存退出文件。

启动Nginx

运行以下命令启动Nginx服务。

systemctl start nginx

运行以下命令设置Nginx服务开机自启动。

systemctl enable nginx

这样服务端Nginx就配置完成了,要想通过kingram.top访问,还需要关闭防火墙(或者配置端口)、配置dns解析、配置阿里云端口安全组(80端口)等操作,我是直接关了防火墙

关闭防火墙

永久关闭防火墙:

systemctl disable firewalld

运行systemctl status firewalld命令查看当前防火墙的状态

● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

dns解析和配置阿里云安全组可以通过阿里云文档配置,这样就可以使用域名直接访问我们的博客了。(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ

后面准备搭个自动部署的脚本,等搞完了再写个文章总结下。┏(^0^)┛

hugo + nginx 搭建博客记录的更多相关文章

  1. 用 Hugo 快速搭建博客

    用 Hugo 搭建博客 Hugo 是一个用 Go 编写的静态站点生成器,生成速度很快 下面是具体操作: 1.安装 Hugo Windows 用户 使用 Chocolatey 或者 Scoop 快速安装 ...

  2. 使用Hugo框架搭建博客的过程 - 页面模板

    前言 最初在制作友链界面时,没有学习Hugo框架,一头雾水.网上有关的教程甚少,只能去学一遍Hugo. 在学习Hugo的过程中,了解了列表模板,分类模板.开发了几个功能页面,如:留言板,友链,记忆分类 ...

  3. 使用Hugo框架搭建博客的过程 - 功能拓展

    前言 本文介绍一些拓展功能,如文章页面功能增加二级菜单,相关文章推荐和赞赏.另外,使用脚本会大大简化写作后的上传流程. 文章页面功能 这部分功能的拓展主要是用前端的JS和CSS,如果对前端不了解,可以 ...

  4. 使用Hugo框架搭建博客的过程 - 主题配置

    前言 博客部署完成后,恭喜你可以发表第一篇:Hello world!但是LoveIt这么好用的主题,不配置一番可惜了. 基本功能配置 主题配置最好参考已有的配置,比如LoveIt作者写的介绍,还有主题 ...

  5. 使用Hugo框架搭建博客的过程 - 前期准备

    前言 这篇教程介绍了如何搭建这样效果的博客. 所需步骤 可以从这样的角度出发: 注册域名. 使用CDN加快网站访问速度. 网站内容需要部署在服务器或对象存储平台上. 重要的是放什么内容.博客需要选择框 ...

  6. Hugo hexo 搭建博客系列1:自己的服务器

    hexo jekyll https://hexo.io/zh-cn/ http://theme-next.iissnan.com/getting-started.html Hexo 是高效的静态站点生 ...

  7. 使用Hugo框架搭建博客的过程 - 部署

    前言 完成前期的准备工作后,在部署阶段需要配置服务器或对象存储服务. 对象存储和服务器对比 对象存储平台 国内有阿里云OSS.腾讯COS.又拍云.七牛云等.国外有Github Pages.Netlif ...

  8. Note | 用Hugo搭建博客并部署到GitHub Pages

    目录 1. 本地搭建 1.1 安装Hugo 1.2 创建站点 1.3 新建页面和文章 1.4 使用主题 1.5 修改配置文件 1.6 预览 2. 部署 之前担心过现有博客平台(如博客园,CSDN)突然 ...

  9. 如何用hugo 搭建博客

    1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...

随机推荐

  1. xxl-job使用遇到的问题(二)

    xxl-job使用遇到的问题(二) 关联阅读 xxl-job使用遇到的问题(一) 1.问题现象 最近有个老定时任务迁移到xxl-job的时候,遇到一个小问题.虽然很快解决,但是还是有必要记录一下~ j ...

  2. vue 打包优化

    vue 打包优化 路由按需加载 通过vue写的单页应用时,可能会有很多的路由引入.当打包构建的时候,javascript包会变得非常大,影响加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后 ...

  3. .NET平台系列17 .NET5中的ARM64性能

    系列目录     [已更新最新开发文章,点击查看详细] .NET团队使.NET 5大大提高了常规性能和ARM64性能.在<.NET5中的性能改进>博客中可以查看总体改进情况.在这篇文章中, ...

  4. NVIDIA GPU上的Tensor线性代数

    NVIDIA GPU上的Tensor线性代数 cuTENSOR库是同类中第一个GPU加速的张量线性代数库,提供张量收缩,归约和逐元素运算.cuTENSOR用于加速在深度学习训练和推理,计算机视觉,量子 ...

  5. 从7nm到5nm,半导体制程

    从7nm到5nm,半导体制程 芯片的制造工艺常常用XXnm来表示,比如Intel最新的六代酷睿系列CPU就采用Intel自家的14nm++制造工艺.所谓的XXnm指的是集成电路的MOSFET晶体管栅极 ...

  6. 使用ONNX将模型转移至Caffe2和移动端

    使用ONNX将模型转移至Caffe2和移动端 本文介绍如何使用 ONNX 将 PyTorch 中定义的模型转换为 ONNX 格式,然后将其加载到 Caffe2 中.一旦进入 Caffe2, 就可以运行 ...

  7. LLD-LLVM链接器

    LLD-LLVM链接器 LLD是LLVM项目中的链接器,是系统链接器的直接替代,并且运行速度比它们快得多.它还提供了对工具链开发人员有用的功能. 链接器按完整性降序支持ELF(Unix),PE / C ...

  8. 如何使用TensorCores优化卷积

    如何使用TensorCores优化卷积 本文将演示如何在TVM中使用TensorCores编写高性能的卷积计划.假设卷积的输入有大量数据.首先介绍如何在GPU上优化卷积. TensorCore简介 每 ...

  9. mybatis之Param注解

    一.作用 使用@Param注解表示给参数命名,名称就是括号中的内容.给参数命名,然后在映射文件中就能根据名称获取参数值了.在mybatis中我们常常要使用到多个参数,但是在xml中的parameter ...

  10. 【NX二次开发】PMI线性标注

    PMI线性标注,二次开发的难点在于控制尺寸的位置,多花点儿时间都能搞出来,想走捷径最下面就是源码. 只需要摆好工作坐标,然后指定你要标注尺寸的两个点,就可以很方便得利用这个封装函数做出你想要的PMI. ...