<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Hugo on FelixHao&#39;s Blog</title>
        <link>https://www.autmaple.com/tags/hugo/</link>
        <description>Recent content in Hugo on FelixHao&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Tue, 17 Jun 2025 15:59:02 +0800</lastBuildDate><atom:link href="https://www.autmaple.com/tags/hugo/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>使用 Hugo &#43; Stack 搭建个人博客</title>
        <link>https://www.autmaple.com/post/building-blog-with-hugo-and-stack/</link>
        <pubDate>Tue, 17 Jun 2025 15:59:02 +0800</pubDate>
        
        <guid>https://www.autmaple.com/post/building-blog-with-hugo-and-stack/</guid>
        <description>&lt;h2 id=&#34;什么是-hugo&#34;&gt;什么是 Hugo
&lt;/h2&gt;&lt;h3 id=&#34;静态网站和动态网站&#34;&gt;静态网站和动态网站
&lt;/h3&gt;&lt;p&gt;静态网站：网站完全由 HTML + CSS + Javascript 构成，不需要后端服务和数据库的参与。&lt;/p&gt;
&lt;p&gt;动态网站：网站的内容需要后端服务进行渲染，页面的内容会根据用户以及存储在数据库中的数据进行动态渲染。&lt;/p&gt;
&lt;h3 id=&#34;hugo-介绍&#34;&gt;Hugo 介绍
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gohugo.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hugo&lt;/a&gt; 是最流行的静态网站生成器(Static Site Generator)之一，使用 Markdown 编辑网站的内容。它有着丰富的生态和主题，用户可以在社区中选择自己喜欢的主题，如果用户对现有主题不满意，允许用户进行自定义修改，得益于 Go 强大的模版功能，用户也可以轻松的从头开发一个属于自己的主题，但大部分人会选择使用现有的主题，并按照需要在已有的主题上进行自定义的修改。&lt;/p&gt;
&lt;h2 id=&#34;hugo-配置文件&#34;&gt;Hugo 配置文件
&lt;/h2&gt;&lt;p&gt;hugo 的配置文件名为 &lt;code&gt;hugo.toml&lt;/code&gt;。hugo 支持将配置全部放入到 &lt;code&gt;hugo.toml&lt;/code&gt; 文件中，也支持将配置文件的内容进行拆分到不同的配置文件中。将配置文件的内容进行拆分时，配置文件必须时在 &lt;code&gt;config/_default/&lt;/code&gt; 目录下，并且文件名必须是 &lt;a class=&#34;link&#34; href=&#34;https://gohugo.io/configuration/introduction/#configuration-directory&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;root key&lt;/a&gt;，下面的两个配置是等价的：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;config/_default/hugo.toml&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;bar&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;config/_default/params.toml&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;bar&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;hugo-基于环境进行配置&#34;&gt;Hugo 基于环境进行配置
&lt;/h3&gt;&lt;p&gt;Hugo 支持根据环境对参数配置不同的值，hugo 默认设置了两个环境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;production：使用 &lt;code&gt;hugo&lt;/code&gt; 命令时，激活的就是 &lt;code&gt;production&lt;/code&gt; 环境。production 环境的配置放在 &lt;code&gt;config/production/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;li&gt;development: 使用 &lt;code&gt;hugo server&lt;/code&gt; 命令时，激活的就是 &lt;code&gt;development&lt;/code&gt; 环境。&lt;code&gt;development&lt;/code&gt; 环境的配置放在 &lt;code&gt;config/development/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;li&gt;自定义环境：使用 &lt;code&gt;hugo server -e &amp;lt;env_name&amp;gt;&lt;/code&gt; 时，激活的就是 &lt;code&gt;env_name&lt;/code&gt; 环境。&lt;code&gt;env_name&lt;/code&gt; 环境的配置放在 &lt;code&gt;config/&amp;lt;env_name&amp;gt;/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;hugo-内容模板&#34;&gt;Hugo 内容模板
&lt;/h2&gt;&lt;p&gt;使用 &lt;code&gt;hugo new content &amp;lt;archetype_name&amp;gt;/&amp;lt;page_name&amp;gt;&lt;/code&gt; 命令创建一篇文章时，内容模板查找的顺序如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在项目根目录下的 archetypes 目录下寻找是否存在 &lt;code&gt;archetype_name&lt;/code&gt; 的文件夹或者是 &lt;code&gt;archetype_name.md&lt;/code&gt; 的文件&lt;/li&gt;
&lt;li&gt;没有的话则查找名为 &lt;code&gt;default&lt;/code&gt; 的文件夹或者是 &lt;code&gt;default.md&lt;/code&gt; 的文件&lt;/li&gt;
&lt;li&gt;如果项目的根目录下不存在，则查找配置的主题中的 archetypes 文件夹是否存在 &lt;code&gt;archetype_name&lt;/code&gt; 的文件夹或者文件&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;下面通过实际的例子来说明情况：&lt;/p&gt;
&lt;p&gt;查找文件情况：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;hugo new content post/test.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查找 archetype 的顺序如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;archetypes/post.md&lt;/li&gt;
&lt;li&gt;archetypes/default.md&lt;/li&gt;
&lt;li&gt;主题下的 archetypes/post.md&lt;/li&gt;
&lt;li&gt;主题下的 archetypes/default.md&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果管理页面的方式是 page bundle，新建内容时，查找的就是 archetypes 目录下同名的文件夹, 例如：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;hugo new content post/test&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查找 archetype 的顺序如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;archetypes/post/&lt;/li&gt;
&lt;li&gt;archetypes/default/&lt;/li&gt;
&lt;li&gt;主题下的 archtypes/post/&lt;/li&gt;
&lt;li&gt;主题下的 archtype/default/&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;stack-主题&#34;&gt;Stack 主题
&lt;/h2&gt;&lt;h3 id=&#34;自定义样式&#34;&gt;自定义样式
&lt;/h3&gt;&lt;p&gt;Stack 主题允许用户自定义修改样式，操作步骤如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在博客界面按下 F12 打开开发者工具&lt;/li&gt;
&lt;li&gt;使用开发者工具提供的元素选择器定位到相关的元素&lt;/li&gt;
&lt;li&gt;调整相关的样式，调整完后，将选择器及其所属的样式全部放入到 &lt;code&gt;assets/scss/custom.scss&lt;/code&gt; 文件中&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/be616b2f32c066f7f92c7b92b75022b162089de5757d1d8d2dd93d6d7916c65a.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624215443287&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;自定义博客布局&#34;&gt;自定义博客布局
&lt;/h3&gt;&lt;p&gt;Stack 的布局或者 Icon 等不符合你的要求，这个时候可以借助开发者 + 全局搜索的方式来定位代码的位置，然后进行修改。步骤如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开开发者工具，使用开发者工具提供的元素选择器定位需要修改的元素&lt;/li&gt;
&lt;li&gt;将元素中区分度比较大的标识复制下来，这样能够快速的定位元素在 Stack 源码中所处的文件。比如元素的 ID，元素 class 中区分度比较高的 class，或者整个 class 复制下来等等。&lt;/li&gt;
&lt;li&gt;在 Stack 源码中全局搜索复制下来的标识，定位元素在 Stack 源码中的哪个文件中&lt;/li&gt;
&lt;li&gt;假设定位到的路径是：&lt;code&gt;layouts/a/b/c/d.html&lt;/code&gt;，如果需要修改样式，就需要在博客的目录也存在 &lt;code&gt;layouts/a/b/c/d.html&lt;/code&gt; 文件。将 Stack 源码中 &lt;code&gt;d.html&lt;/code&gt; 文件的内容复制一份到博客目录的 &lt;code&gt;d.html&lt;/code&gt; 文件中，最后修改博客目录中的 &lt;code&gt;d.html&lt;/code&gt; 即可。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/ea4d651d53c6489240710ebee02f0a2382ceba76ea9c8935a94a0a31a0fe1333.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624222537313&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;上图中圈出来的图标我不是非常的喜欢，接下来使用图文的方式展示如何去除掉对应的图标&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用开发者工具定位到图标所在的元素&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/ebb5ca2cc03629915fa7ba582a28c9f813af46b2ecd56a9a8179eaa320e7f610.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624223113373&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;选择一个区分度比较高的标识符复制下来，这里我选择 &lt;code&gt;class=&amp;quot;widget-icon&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在 Stack 主题的源码中去搜索 &lt;code&gt;class=&amp;quot;widget-icon&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/e2d86f7210f792fb9bbcdc70a559a1d94f26b7addced163426ee3a3b9ad6ad35.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624223526837&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;从上图中可以看到，全局搜索一共找到了四个文件，挨个查看文件的内容可以确定图标的源码在 &lt;code&gt;archives.html&lt;/code&gt; 文件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/1a23d3192fa5d0da95afd6e0054a92b62b98c3d53d97e5c85c411204da46a36a.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624223931719&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;archives.html&lt;/code&gt; 文件的路径：&lt;code&gt;layouts/partials/widget/archives.html&lt;/code&gt;。将该文件的目录结构复制一份到博客所在的目录，并将 &lt;code&gt;archives.html&lt;/code&gt; 文件复制到博客中，然后修改博客中 &lt;code&gt;layouts/partials/widget/archives.html&lt;/code&gt; 文件:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/09aa7c1e19f7a044ced3396f5a44316d563c0f2e352fd78b10747024aeb43ac1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624224331101&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;查看效果：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/f8cd51c4a9066bdeafbbe8850dcb6dbfd3d3b3e59867776dfad35a352d3227de.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624224506687&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;自定义-svg-图标&#34;&gt;自定义 SVG 图标
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在 iconfont 选择自己心仪的图标，选择图标时，一定要手动指定一个颜色&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/5c984123fb812192d5ee6c3785044b86eec8fdee242e736bb8812f2853a9cb17.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624163231773&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;复制 SVG 代码，并保存在一个文件中，比如 &lt;code&gt;github.svg&lt;/code&gt; 文件中&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/e3808341d556e39830e0d3acce7cfa2fcc197e8888bb7990d7584e47829acc4f.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624163449757&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;将 github.svg 在编辑器中打开，并将 fill 字段的值改成 currentColor&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://oss.autmaple.com:443/blog/eac6268e8d70986bb95318bd9a8c2f0f6cc5df84f8bd03433b41c095b3361072.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20250624163823964&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;将 github.svg 放入到 &lt;code&gt;assets/icons/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;将网站托管到-nginx&#34;&gt;将网站托管到 Nginx
&lt;/h2&gt;&lt;p&gt;hugo 编译之后，会在项目的根目录下生成一个 public 目录。public 目录下的文件就是静态页面包含的所有资源，其中的 &lt;code&gt;index.html&lt;/code&gt; 是静态页面的入口。&lt;/p&gt;
&lt;p&gt;如果没有服务器，则可以将生成的页面托管到 &lt;a class=&#34;link&#34; href=&#34;https://pages.github.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Github Page&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://www.netlify.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netlify&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://vercel.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel&lt;/a&gt; 等服务商中。如果有服务器，则可以将生成的静态页面交给 Nginx 处理。&lt;/p&gt;
&lt;p&gt;把静态页面交给 Nginx 处理，只需要把 public 目录下所有的文件放入到 nginx 所在的服务器上。&lt;/p&gt;
&lt;p&gt;假设将 public 目录下的所有文件都放在了 &lt;code&gt;/var/www/hugo/&lt;/code&gt; 目录下，nginx 配置文件 &lt;code&gt;/etc/nginx/nginx.conf&lt;/code&gt; 修改后的内容如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;worker_processes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;pid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;error_log&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;include&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;modules&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;enabled&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;events&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;worker_connections&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;768&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;http&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;sendfile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;tcp_nopush&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;types_hash_max_size&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2048&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;include&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mime&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;types&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;default_type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;application&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;octet&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stream&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;ssl_protocols&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TLSv1&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TLSv1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TLSv1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TLSv1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Dropping SSLv3, ref: POODLE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;ssl_prefer_server_ciphers&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;access_log&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;access&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;gzip&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;include&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;include&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nginx&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sites&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;enabled&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/*&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 监听80端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;server_name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hugo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;local&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 替换为你的域名，这是个可选配置项, 配置后就可以使用 http://hugo.local.com 访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;root&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hugo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 设置网站的根目录为 /var/www/hugo 文件夹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 网站的入口文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;location&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;try_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uri&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uri&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;404&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 尝试找到请求的文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;# 处理静态文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;location&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~*&lt;/span&gt; \&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;css&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jpg&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jpeg&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;png&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gif&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ico&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;svg&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;woff&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;woff2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ttf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;expires&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 设置缓存时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;access_log&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;off&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 关闭访问日志&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;# 错误页面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;error_page&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;404&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;404.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 自定义404页面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;需要注意的是 &lt;code&gt;/var/www/hugo/&lt;/code&gt; 目录的权限，目录的权限需要与 &lt;code&gt;/etc/nginx/nginx.conf&lt;/code&gt; 中的 &lt;code&gt;user&lt;/code&gt; 参数一致，比如上述配置文件中的配置为: &lt;code&gt;user www-data&lt;/code&gt;，那需要使用如下的命令修改目录权限：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chown -R www-data:www-data /var/www/hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
        </item>
        
    </channel>
</rss>
