搭建静态博客

本文记录如何在 Linux VPS 上搭建一个静态博客网站。

技术栈

  • Hugo
  • PaperMod 主题
  • Nginx
  • HTTPS

服务器示例配置

  • CPU: 2 Core
  • RAM: 2GB
  • SSD: 40GB
  • OS: Ubuntu

一、安装 Nginx

  1. 更新系统:
    apt update
    
  2. 安装 Nginx:
    apt install nginx -y
    
  3. 启动 Nginx 并设置开机自启:
    systemctl start nginx
    systemctl enable nginx
    
  4. 测试访问:
    http://<YOUR_DOMAIN>
    
    如果看到默认页面说明安装成功。

二、创建网站目录

  1. 创建博客目录:
    mkdir -p /var/www/blog
    
  2. 创建测试页面:
    nano /var/www/blog/index.html
    
  3. 测试页面示例内容:
    <h1>My Blog</h1>
    

三、配置 Nginx 站点

  1. 创建配置文件:
    nano /etc/nginx/sites-available/blog
    
  2. 配置文件内容:
    server {
        listen 80;
    
        server_name <YOUR_DOMAIN>;
    
        root /var/www/blog;
        index index.html;
    
        location / {
            try_files $uri $uri/ =404;
        }
    }
    
  3. 启用站点:
    ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/
    
  4. 检查配置语法:
    nginx -t
    
  5. 重启 Nginx 生效:
    systemctl restart nginx
    

四、申请 HTTPS

  1. 安装证书工具:
    apt install certbot python3-certbot-nginx -y
    
  2. 申请证书:
    certbot --nginx
    
  3. 按提示操作:
    • 输入邮箱:<YOUR_EMAIL>
    • 选择域名:<YOUR_DOMAIN>
  4. 验证访问:
    https://<YOUR_DOMAIN>
    

五、安装 Hugo

  1. 下载 Hugo 扩展版:
    wget https://github.com/gohugoio/hugo/releases/latest/download/hugo_extended_linux-amd64.deb
    
  2. 安装 Hugo:
    dpkg -i hugo_extended_linux-amd64.deb
    
  3. 检查版本验证安装:
    hugo version
    

六、创建博客项目

  1. 进入网站根目录:
    cd /var/www
    
  2. 创建 Hugo 站点:
    hugo new site blogsite
    
  3. 进入项目目录:
    cd blogsite
    

七、安装博客主题

  1. 下载 PaperMod 主题:
    git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod
    
  2. 编辑站点配置文件:
    nano hugo.toml
    
  3. 基础配置示例:
    baseURL = "https://<YOUR_DOMAIN>/"
    title = "My Blog"
    theme = "PaperMod"
    

八、创建第一篇文章

  1. 创建文章文件:
    hugo new posts/hello.md
    
  2. 编辑文章内容:
    nano content/posts/hello.md
    
  3. 文章示例内容:
    ---
    title: "Hello World"
    date: 2026-03-10
    draft: false
    ---
    
    欢迎来到我的博客。
    
    这是第一篇文章。
    

九、生成博客

执行 Hugo 构建命令生成静态文件:

hugo

生成的静态文件会保存在:/var/www/blogsite/public


十、发布博客

  1. 清空旧文件并复制新生成的静态文件:
    rm -rf /var/www/blog/*
    cp -r public/* /var/www/blog/
    
  2. 设置目录权限:
    chown -R www-data:www-data /var/www/blog
    chmod -R 755 /var/www/blog
    
  3. 重启 Nginx 生效:
    systemctl restart nginx
    

十一、访问博客

打开浏览器访问以下地址即可查看博客:

https://<YOUR_DOMAIN>

十二、更新博客

  1. 创建新文章:
    hugo new posts/article.md
    
  2. 编辑新文章内容:
    nano content/posts/article.md
    
  3. 重新生成静态文件:
    hugo
    
  4. 重新发布:
    cp -r public/* /var/www/blog/
    
    无需重启 Nginx,网站会自动更新。

项目目录结构

/var/www
 ├── blog          # Nginx 根目录(最终访问的静态文件)
 │
 └── blogsite      # Hugo 项目目录
     ├── content   # 文章内容目录
     ├── themes    # 主题目录
     ├── static    # 静态资源(图片、CSS 等)
     └── public    # Hugo 生成的静态文件目录

总结

使用 Hugo 搭建博客具有以下优点:

  • 静态网站速度快
  • 资源占用低
  • 安全性高
  • 部署简单