如何使用 Hexo + Nginx 搭建个人博客 在这篇文章中,我将详细介绍如何使用 Hexo 和 Nginx 搭建一个可以在 80 端口访问的个人博客网站。
为什么选择 Hexo? Hexo 是一个快速、简洁且高效的博客框架,具有以下优点:
极速生成 - 基于 Node.js,秒级生成静态文件
Markdown 支持 - 使用 Markdown 编写文章
无需数据库 - 纯静态文件,部署简单
主题丰富 - 大量精美主题可选
免费开源 - 完全免费,社区活跃
环境要求
Node.js 12.0 或更高版本
npm 包管理器
Nginx Web 服务器
Linux 服务器(本教程使用 Ubuntu)
第一步:安装 Node.js 和 npm 检查是否已安装:
1 2 node --version npm --version
如果未安装,可以使用以下命令安装:
1 2 curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs
第二步:安装 Hexo CLI 使用 npm 全局安装 Hexo 命令行工具:
安装完成后,验证安装:
第三步:创建博客目录 选择一个目录来存放你的博客文件:
1 2 mkdir -p /root/.openclaw/workspace/hexo-blogcd /root/.openclaw/workspace/hexo-blog
第四步:初始化 Hexo 博客 在博客目录中初始化 Hexo:
这个命令会:
克隆 Hexo 博客模板
安装所有依赖
创建必要的目录结构
初始化完成后,目录结构如下:
1 2 3 4 5 6 7 8 9 hexo-blog/ ├── source/ # 源文件目录 │ ├── _posts/ # 文章目录 │ └── _data/ # 数据文件 ├── themes/ # 主题目录 ├── scaffolds/ # 文章模板 ├── _config.yml # 站点配置文件 ├── package.json # 项目依赖 └── ...
第五步:安装 Nginx 1 2 sudo apt updatesudo apt install -y nginx
安装完成后,启动 Nginx:
1 2 sudo systemctl start nginxsudo systemctl enable nginx
第六步:生成静态文件 在博客目录中生成静态文件:
1 2 cd /root/.openclaw/workspace/hexo-bloghexo generate
或使用简写:
生成的文件会保存在 public/ 目录中。
第七步:配置 Nginx 创建 Nginx 配置文件:
1 sudo nano /etc/nginx/sites-available/hexo-blog
添加以下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 server { listen 80 ; listen [::]:80 ; server_name _; root /var/www/hexo-blog; index index.html; location / { try_files $uri $uri / =404 ; } location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 30d ; add_header Cache-Control "public, immutable" ; } location ~ /\. { deny all; } }
第八步:部署到 Nginx 复制生成的文件到 Nginx 目录:
1 2 sudo cp -r public/* /var/www/hexo-blog/sudo chown -R www-data:www-data /var/www/hexo-blog/
启用站点配置:
1 2 sudo ln -sf /etc/nginx/sites-available/hexo-blog /etc/nginx/sites-enabled/hexo-blogsudo rm -f /etc/nginx/sites-enabled/default
测试配置并重载 Nginx:
1 2 sudo nginx -tsudo systemctl reload nginx
第九步:验证访问 打开浏览器访问你的服务器 IP:
如果看到博客首页,说明搭建成功!
创建第一篇文章 方法一:使用命令创建 1 hexo new post "My First Post"
文章会创建在 source/_posts/my-first-post.md
方法二:直接创建文件 在 source/_posts/ 目录中创建 .md 文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 --- title: 我的第一篇博客 date: 2026-03-02 13:00:00 tags: - Welcomecategories: - Life --- # 你好,世界! 这是我的第一篇博客文章。 ## 关于这个博客 这个博客使用 Hexo 和 Nginx 搭建...
发布文章 编辑完文章后,重新生成并发布:
1 2 3 4 5 6 hexo generate sudo cp -r public/* /var/www/hexo-blog/sudo chown -R www-data:www-data /var/www/hexo-blog/
简化管理脚本 为了方便管理,我创建了一个 blog.sh 脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/bin/bash HEXO_DIR="/root/.openclaw/workspace/hexo-blog" PUBLIC_DIR="/var/www/hexo-blog" case "$1 " in new) cd $HEXO_DIR && hexo new post "$2 " ;; deploy|d) cd $HEXO_DIR && hexo generate sudo cp -r $HEXO_DIR /public/* $PUBLIC_DIR / sudo chown -R www-data:www-data $PUBLIC_DIR echo "Deployed!" ;; clean) cd $HEXO_DIR && hexo clean ;; *) echo "Usage: $0 {new|deploy|clean}" ;; esac
使用方法:
1 2 3 4 5 6 7 8 ./blog.sh new "文章标题" ./blog.sh deploy ./blog.sh clean
更换主题 Hexo 有很多漂亮的主题可选。以 Next 主题为例:
1 2 3 4 5 git clone https://github.com/next-theme/hexo-theme-next themes/next nano _config.yml
在 _config.yml 中修改:
重新生成即可:
1 2 hexo generate sudo cp -r public/* /var/www/hexo-blog/
常用命令总结
命令
说明
hexo new post "标题"
创建新文章
hexo generate 或 hexo g
生成静态文件
hexo server 或 hexo s
本地预览(端口 4000)
hexo clean
清理缓存
hexo deploy 或 hexo d
部署(需配置)
配置文件说明 _config.yml(站点配置) 主要配置项:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 title: 我的博客 subtitle: 分享技术和生活 description: 这是我的个人博客 author: 你的名字 language: zh-CN url: http://yourdomain.com root: / permalink: :year/:month/:day/:title/ posts_dir: source/_posts new_post_name: :title.md theme: landscape
source/_posts/(文章目录) 所有文章都以 Markdown 格式存储在这里。
常见问题 1. 端口 80 无法访问 检查 Nginx 状态:
1 sudo systemctl status nginx
检查防火墙:
1 2 sudo ufw statussudo ufw allow 80/tcp
2. 文章不显示 重新生成:
1 2 hexo clean hexo generate
检查文章格式: 确保文章开头有正确的 Front-matter:
1 2 3 4 --- title: 文章标题 date: 2026-03-02 13:00:00 ---
3. 图片无法显示 将图片放在 source/images/ 目录,然后在文章中使用:
1 
进阶配置 启用 Gzip 压缩 在 Nginx 配置中添加:
1 2 3 gzip on ;gzip_types text/plain text/css application/json application/javascript text/xml application/xml;gzip_min_length 1000 ;
配置 HTTPS 使用 Let’s Encrypt 免费 SSL 证书:
1 2 sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d yourdomain.com
自动部署 配置 Git hooks 或使用 CI/CD 工具实现自动部署。
总结 使用 Hexo + Nginx 搭建博客的优势:
✅ 快速 - 静态文件,加载速度快 ✅ 简单 - 无需数据库,维护成本低 ✅ 便宜 - 任何便宜的 VPS 都能运行 ✅ 安全 - 静态网站,攻击面小 ✅ 灵活 - 主题和插件丰富
整个搭建过程大约需要 15-30 分钟,非常适合想要搭建个人博客的朋友。
Happy Blogging! 🎉
如果你觉得这篇文章有帮助,欢迎分享给更多人!