image-20251205091644134

一、环境准备

1
2
3
4
5
6
7
8
# 安装 Node.js (需 >= 12.0)
https://nodejs.org

# 安装 Git
https://git-scm.com

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

二、项目初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建项目
hexo init myblog
cd myblog

# 安装依赖
npm install

# 目录结构:
# ├── _config.yml # 全局配置
# ├── source # 文章/资源
# ├── themes # 主题目录
# ├── public # 生成的静态文件
# └── scaffolds # 模板文件

三、核心配置 (_config.yml)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 基础配置
title: 我的博客
subtitle: 技术记录与分享
description: "技术博客 | 编程笔记"
author: YourName
language: zh-CN
timezone: Asia/Shanghai

# 部署配置
deploy:
type: git
repo:
github: git@github.com:username/username.github.io.git
branch: main

# 扩展配置
theme: next # 使用主题
permalink: :year/:month/:title/

四、常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 新建文章
hexo new "文章标题"
# 或指定布局
hexo new draft "草稿标题" # 创建草稿
hexo new page "about" # 创建页面

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

# 本地预览
hexo server # 简写 hexo s
hexo s --draft # 包含草稿

# 部署到服务器
hexo deploy # 简写 hexo d

# 组合命令
hexo clean && hexo g -d # 清理后生成并部署

五、主题管理(以NexT为例)

1
2
3
4
5
6
7
8
9
10
# 安装主题
git clone https://github.com/next-theme/hexo-theme-next themes/next

# 配置主题
# _config.yml
theme: next

# 主题自定义配置(推荐):bash
# 复制 themes/next/_config.yml 到根目录 _config.next.yml
# 修改 _config.next.yml 进行配置

六、写作规范

  1. 文章头部 Front-matter
1
2
3
4
5
6
7
8
9
---
title: 文章标题
date: 2023-07-20 14:00:00
tags:
- 标签1
- 标签2
categories: 分类名称
cover: /images/cover.jpg
---
  1. 使用标签插件
1
2
3
4
5
{% note warning %}
注意事项内容
{% endnote %}

{% asset_img example.jpg 图片说明 %}

七、部署到GitHub Pages

  1. 安装部署插件
1
npm install hexo-deployer-git --save
  1. 配置SSH Key并添加至GitHub

  2. 一键部署

1
hexo clean && hexo deploy -g

八、高级技巧

  1. 数据文件功能
1
2
3
4
5
6
# 创建数据文件
source/_data/menu.yml
# 使用方式
<% site.data.menu.forEach(function(item){ %>
<a href="<%= item.url %>"><%= item.name %></a>
<% }) %>
  1. 自定义样式
1
2
3
4
# 创建 source/css/custom.css
# 在主题配置中引入
custom_file_path:
css: css/custom.css
  1. 插件推荐
1
2
3
npm install hexo-generator-searchdb   # 本地搜索
npm install hexo-abbrlink # 永久链接
npm install hexo-all-minifier # 资源压缩

九、常用工作流

  1. 日常写作流程
1
2
3
4
5
hexo new "新文章"
# 使用 Markdown 编辑器编写内容
hexo s --draft # 本地预览
hexo publish "新文章" # 发布草稿
hexo clean && hexo g -d
  1. 多设备同步
1
2
3
4
5
6
# 保留的目录:
# source
# themes
# scaffolds
# _config.yml
# package.json

十、故障排查

  1. 清除缓存
1
hexo clean
  1. 检查依赖
1
npm install --force
  1. 查看生成日志
1
hexo g --debug

十一、hexo d 部署

hexo d 能否部署到服务器取决于您的部署配置。以下是不同场景的说明:


场景一:部署到 Git 托管平台(默认能力)

支持平台:GitHub Pages、Gitee Pages、GitLab Pages 等
🔧 配置示例

1
2
3
4
5
6
deploy:
- type: git
repo:
github: git@github.com:user/repo.git
gitee: git@gitee.com:user/repo.git
branch: master

📦 需要插件hexo-deployer-git


场景二:部署到自有服务器

需要安装额外部署插件,以下是常见方案:

方案 1:使用 RSYNC

1
2
3
4
5
6
7
8
9
deploy:
- type: rsync
host: 123.123.123.123 # 服务器IP
user: deploy_user # SSH用户名
root: /var/www/html # 服务器目标目录
port: 22 # SSH端口
delete: true
privateKey: ~/.ssh/id_rsa_hexo # 私钥路径
args: -avz --exclude=tmp/

📦 需要安装:npm install hexo-deployer-rsync --save

方案 2:使用 SFTP

1
2
3
4
5
6
7
deploy:
- type: sftp
host: your-server.com
user: user
pass: password
remotePath: /var/www/html/
port: 22

📦 需要安装:npm install hexo-deployer-sftp --save

方案 3:使用 Shell 脚本(自定义)

1
2
3
4
5
deploy:
- type: exec
command: |
scp -r public/* user@server:/var/www/html
ssh user@server "systemctl reload nginx"

📦 需要安装:npm install hexo-deployer-exec --save


部署到服务器的完整流程

  1. 安装所需部署插件

  2. 配置服务器端:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 创建目录
    mkdir -p /var/www/html
    chmod 755 /var/www/html

    # Nginx 示例配置
    server {
    listen 80;
    server_name your-domain.com;
    root /var/www/html;
    index index.html;
    }
  3. 执行部署命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 完整流程
    hexo clean && hexo g && hexo deploy

    # 仅部署到 Git
    hexo deploy --type git

    # 仅部署到服务器
    hexo deploy --type rsync

    # 如果部署到服务器可以使用:
    # 手动执行命令:
    rsync -avz --exclude=tmp/ -e "ssh -p 22 -i ~/.ssh/80.106.10.120_id_ed25519" public/ root@80.106.10.120:/www/wwwroot/default/test

注意事项

  1. 服务器需要开放 SSH 端口(默认 22)
  2. 推荐使用 SSH 密钥认证而非密码
  3. 生产环境建议配合 CI/CD 工具(如 GitHub Actions)实现自动部署
  4. 文件权限需正确配置(通常需要 755 目录权限和 644 文件权限)

选择适合您服务器环境的部署方式后,hexo d 即可实现一键部署到服务器。


按照这个指南操作,您可以在30分钟内完成从零到部署的完整搭建。建议搭配Git进行版本控制,并定期备份source目录和配置文件。