如何使用 Hexo + Nginx 搭建个人博客
在这篇文章中,我将详细介绍如何使用 Hexo 和 Nginx 搭建一个可以在 80 端口访问的个人博客网站。
为什么选择 Hexo?
Hexo 是一个快速、简洁且高效的博客框架,具有以下优点:
- 极速生成 - 基于 Node.js,秒级生成静态文件
- Markdown 支持 - 使用 Markdown 编写文章
- 无需数据库 - 纯静态文件,部署简单
- 主题丰富 - 大量精美主题可选
- 免费开源 - 完全免费,社区活跃
环境要求
- Node.js 12.0 或更高版本
- npm 包管理器
- Nginx Web 服务器
- Linux 服务器(本教程使用 Ubuntu)
第一步:安装 Node.js 和 npm
检查是否已安装:
1 | node --version |
如果未安装,可以使用以下命令安装:
1 | curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - |
第二步:安装 Hexo CLI
使用 npm 全局安装 Hexo 命令行工具:
1 | npm install -g hexo-cli |
安装完成后,验证安装:
1 | hexo -v |
第三步:创建博客目录
选择一个目录来存放你的博客文件:
1 | mkdir -p /root/.openclaw/workspace/hexo-blog |
第四步:初始化 Hexo 博客
在博客目录中初始化 Hexo:
1 | hexo init . |
这个命令会:
- 克隆 Hexo 博客模板
- 安装所有依赖
- 创建必要的目录结构
初始化完成后,目录结构如下:
1 | hexo-blog/ |
第五步:安装 Nginx
1 | sudo apt update |
安装完成后,启动 Nginx:
1 | sudo systemctl start nginx |
第六步:生成静态文件
在博客目录中生成静态文件:
1 | cd /root/.openclaw/workspace/hexo-blog |
或使用简写:
1 | hexo g |
生成的文件会保存在 public/ 目录中。
第七步:配置 Nginx
创建 Nginx 配置文件:
1 | sudo nano /etc/nginx/sites-available/hexo-blog |
添加以下配置:
1 | server { |
第八步:部署到 Nginx
复制生成的文件到 Nginx 目录:
1 | sudo cp -r public/* /var/www/hexo-blog/ |
启用站点配置:
1 | sudo ln -sf /etc/nginx/sites-available/hexo-blog /etc/nginx/sites-enabled/hexo-blog |
测试配置并重载 Nginx:
1 | sudo nginx -t |
第九步:验证访问
打开浏览器访问你的服务器 IP:
1 | http://YOUR_SERVER_IP/ |
如果看到博客首页,说明搭建成功!
创建第一篇文章
方法一:使用命令创建
1 | hexo new post "My First Post" |
文章会创建在 source/_posts/my-first-post.md
方法二:直接创建文件
在 source/_posts/ 目录中创建 .md 文件:
1 | --- |
发布文章
编辑完文章后,重新生成并发布:
1 | # 生成静态文件 |
简化管理脚本
为了方便管理,我创建了一个 blog.sh 脚本:
1 |
|
使用方法:
1 | # 创建新文章 |
更换主题
Hexo 有很多漂亮的主题可选。以 Next 主题为例:
1 | # 克隆主题 |
在 _config.yml 中修改:
1 | theme: next |
重新生成即可:
1 | hexo generate |
常用命令总结
| 命令 | 说明 |
|---|---|
hexo new post "标题" |
创建新文章 |
hexo generate 或 hexo g |
生成静态文件 |
hexo server 或 hexo s |
本地预览(端口 4000) |
hexo clean |
清理缓存 |
hexo deploy 或 hexo d |
部署(需配置) |
配置文件说明
_config.yml(站点配置)
主要配置项:
1 | # 站点信息 |
source/_posts/(文章目录)
所有文章都以 Markdown 格式存储在这里。
常见问题
1. 端口 80 无法访问
检查 Nginx 状态:
1 | sudo systemctl status nginx |
检查防火墙:
1 | sudo ufw status |
2. 文章不显示
重新生成:
1 | hexo clean |
检查文章格式:
确保文章开头有正确的 Front-matter:
1 |
|
3. 图片无法显示
将图片放在 source/images/ 目录,然后在文章中使用:
1 |  |
进阶配置
启用 Gzip 压缩
在 Nginx 配置中添加:
1 | gzip on; |
配置 HTTPS
使用 Let’s Encrypt 免费 SSL 证书:
1 | sudo apt install certbot python3-certbot-nginx |
自动部署
配置 Git hooks 或使用 CI/CD 工具实现自动部署。
总结
使用 Hexo + Nginx 搭建博客的优势:
✅ 快速 - 静态文件,加载速度快
✅ 简单 - 无需数据库,维护成本低
✅ 便宜 - 任何便宜的 VPS 都能运行
✅ 安全 - 静态网站,攻击面小
✅ 灵活 - 主题和插件丰富
整个搭建过程大约需要 15-30 分钟,非常适合想要搭建个人博客的朋友。
Happy Blogging! 🎉
如果你觉得这篇文章有帮助,欢迎分享给更多人!