搬瓦工部署 Hexo 博客到 VPS 教程

Hexo 是一款基于 Node.js 的快速博客框架,在中文社区中广受欢迎。它支持 Markdown 写作,拥有丰富的主题和插件生态,生成的静态页面可以部署在任何 Web 服务器上。本文将介绍如何在搬瓦工 VPS 上完成 Hexo 博客的搭建和部署,包括通过 Git Hook 实现一键发布。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。

一、安装 Node.js

apt update && apt upgrade -y

# 使用 NodeSource 安装 Node.js 20 LTS
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

# 验证安装
node -v
npm -v

二、安装 Hexo

# 全局安装 Hexo CLI
npm install -g hexo-cli

# 初始化博客项目
cd /opt
hexo init myblog
cd myblog
npm install

三、配置 Hexo

编辑站点配置文件 _config.yml,设置基本信息:

cat > /opt/myblog/_config.yml << 'HEXOEOF'
title: 我的博客
subtitle: 技术分享与生活记录
description: 一个使用 Hexo 搭建的个人博客
keywords: 技术,博客
author: Your Name
language: zh-CN
timezone: Asia/Shanghai
url: https://yourdomain.com
root: /
permalink: :year/:month/:day/:title/

theme: next

# 部署配置
deploy:
  type: git
  repo: /opt/hexo-deploy.git
  branch: main
HEXOEOF

3.1 安装 NexT 主题

cd /opt/myblog
npm install hexo-theme-next

3.2 创建文章

hexo new post "我的第一篇博客"
# 编辑 source/_posts/我的第一篇博客.md

四、部署方式一:直接构建部署

4.1 生成静态文件

cd /opt/myblog
hexo clean && hexo generate

4.2 配置 Nginx

apt install nginx -y

cat > /etc/nginx/sites-available/hexo.conf << 'EOF'
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /opt/myblog/public;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml;
    gzip_min_length 1000;

    error_page 404 /404.html;
}
EOF

ln -sf /etc/nginx/sites-available/hexo.conf /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl restart nginx

五、部署方式二:Git Hook 自动部署

这种方式可以在本地写完文章后,通过一条命令自动部署到 VPS:

5.1 在 VPS 上创建裸仓库

apt install git -y
git init --bare /opt/hexo-deploy.git

5.2 配置 Git Hook

cat > /opt/hexo-deploy.git/hooks/post-receive << 'EOF'
#!/bin/bash
GIT_REPO=/opt/hexo-deploy.git
PUBLIC_DIR=/var/www/hexo

rm -rf $PUBLIC_DIR
git clone $GIT_REPO $PUBLIC_DIR
echo "[$(date)] Hexo deployed successfully"
EOF
chmod +x /opt/hexo-deploy.git/hooks/post-receive

mkdir -p /var/www/hexo

5.3 更新 Nginx 指向

将 Nginx 的 root 改为 /var/www/hexo

5.4 安装部署插件

cd /opt/myblog
npm install hexo-deployer-git --save

5.5 一键部署

hexo clean && hexo generate && hexo deploy

六、常用 Hexo 命令

# 新建文章
hexo new post "文章标题"

# 新建页面
hexo new page "关于"

# 生成静态文件
hexo generate  # 简写 hexo g

# 本地预览
hexo server    # 简写 hexo s

# 清理缓存
hexo clean

# 部署
hexo deploy    # 简写 hexo d

# 生成并部署
hexo g -d

七、常用插件

# 搜索功能
npm install hexo-generator-searchdb --save

# RSS 订阅
npm install hexo-generator-feed --save

# Sitemap 生成
npm install hexo-generator-sitemap --save

# 文章字数统计
npm install hexo-word-counter --save

八、SSL 证书配置

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com

九、常见问题

构建时报错

确认 Node.js 版本兼容。Hexo 7 需要 Node.js 14 以上版本。使用 hexo clean 清理缓存后重试。

主题不生效

确认 _config.ymltheme 的值与主题目录名一致。npm 安装的主题在 node_modules 中,使用包名而非目录名。

总结

Hexo 是中文社区中最受欢迎的博客框架之一,部署在搬瓦工 VPS 上可以获得完全的控制权和稳定的访问速度。如果你更偏好 Go 语言生态,可以参考 Hugo 静态网站教程。其他静态站生成器教程还有 JekyllVitePress 等。购买搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。