
一、环境准备
1 2 3 4 5 6 7 8
| https://nodejs.org
https://git-scm.com
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)
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 server hexo s --draft
hexo deploy
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
theme: next
|
六、写作规范
- 文章头部 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 2 3 4 5
| {% note warning %} 注意事项内容 {% endnote %}
{% asset_img example.jpg 图片说明 %}
|
七、部署到GitHub Pages
- 安装部署插件
1
| npm install hexo-deployer-git --save
|
配置SSH Key并添加至GitHub
一键部署
1
| hexo clean && hexo deploy -g
|
八、高级技巧
- 数据文件功能
1 2 3 4 5 6
| source/_data/menu.yml
<% site.data.menu.forEach(function(item){ %> <a href="<%= item.url %>"><%= item.name %></a> <% }) %>
|
- 自定义样式
1 2 3 4
|
custom_file_path: css: css/custom.css
|
- 插件推荐
1 2 3
| npm install hexo-generator-searchdb npm install hexo-abbrlink npm install hexo-all-minifier
|
九、常用工作流
- 日常写作流程
1 2 3 4 5
| hexo new "新文章"
hexo s --draft hexo publish "新文章" hexo clean && hexo g -d
|
- 多设备同步
十、故障排查
- 清除缓存
- 检查依赖
- 查看生成日志
十一、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 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; }
|
执行部署命令:
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
|
注意事项
- 服务器需要开放 SSH 端口(默认 22)
- 推荐使用 SSH 密钥认证而非密码
- 生产环境建议配合 CI/CD 工具(如 GitHub Actions)实现自动部署
- 文件权限需正确配置(通常需要 755 目录权限和 644 文件权限)
选择适合您服务器环境的部署方式后,hexo d 即可实现一键部署到服务器。
按照这个指南操作,您可以在30分钟内完成从零到部署的完整搭建。建议搭配Git进行版本控制,并定期备份source目录和配置文件。