搬瓦工部署 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.yml 中 theme 的值与主题目录名一致。npm 安装的主题在 node_modules 中,使用包名而非目录名。
总结
Hexo 是中文社区中最受欢迎的博客框架之一,部署在搬瓦工 VPS 上可以获得完全的控制权和稳定的访问速度。如果你更偏好 Go 语言生态,可以参考 Hugo 静态网站教程。其他静态站生成器教程还有 Jekyll、VitePress 等。购买搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。