服务器搭建Hexo博客全流程详解
为什么选择服务器部署Hexo博客?
相比GitHub Pages等平台,服务器部署Hexo博客的优势在于:

- 完全自定义:可自由安装插件、修改Nginx配置
- 独立域名:支持绑定个人域名(如xxx.com)
- SEO优化:可配置站点地图、HTTPS协议
- 数据掌控:不受限于第三方平台规则
前期准备清单
| 项目 | 说明 |
|---|---|
| 服务器 | 推荐配置:1核2GB内存/40GB存储(阿里云/腾讯云轻量服务器) |
| 域名 | 已备案的.com/.cn域名 |
| 本地环境 | Node.js≥14.x、Git、Hexo |
| 远程连接工具 | Xshell/FinalShell(推荐)或终端SSH |
服务器选购与初始化
主流云服务商对比表
| 服务商 | 价格(学生机) | 优势 | 适用场景 |
|————|————————-|———————–|————————-|
| 阿里云 | 10元/月(2核4GB) | 国内访问速度快 | 面向中文用户的技术博客 |
| 腾讯云 | 12元/月(2核4GB) | 微信生态集成 | 需要API服务的站点 |
| 华为云 | 9元/月(1核2GB) | 企业级稳定性 | 长期运营的商业站点 |
| 搬瓦工 | $5.99/月(1核1GB) | 国际带宽 | 海外访问为主的站点 |
初始化步骤
- 通过SSH登录服务器(推荐使用密钥登录)
- 执行系统更新:
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu sudo yum update -y # CentOS
- 设置时区为上海时间:
sudo timedatectl set-timezone Asia/Shanghai
安装基础运行环境
安装Node.js
# 安装nvm管理多版本Node curl -ohttps://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash # 加载nvm环境 source ~/.bashrc # 安装最新LTS版本 nvm install --lts=fermium nvm use node # 验证版本 node -v # 应显示v16.x.x或更高
安装Git
sudo apt install git -y # Debian/Ubuntu sudo yum install git -y # CentOS git --version # 应≥2.20.0
Hexo本地配置与部署
初始化Hexo项目
# 创建项目目录 mkdir hexo-blog && cd hexo-blog # 初始化Hexo hexo init # 安装必要依赖 npm install hexo-cli -g # 如果未全局安装 npm install # 安装项目依赖
配置_config.yml核心参数

# 基本配置示例 我的技术博客 '前端开发 | 服务器运维' description: '记录全栈开发与云计算实践' keywords: 'Hexo,服务器部署,技术博客' author: Your Name language: zh-CN timezone: Asia/Shanghai # URL配置 url: https://yourdomain.com # 绑定域名后填写 root: / permalink: posts/:abbrlink/ # 文章永久链接格式 abbrlink: [2, date] # 短链接包含日期 # 主题配置(以next为例) theme: next
部署到服务器
# 安装部署插件 npm install hexo-deployer-git --save # 修改_config.yml添加部署配置 deploy: type: git repo: https://github.com/yourusername/yourrepo.git # 替换为你的仓库地址 branch: master
服务器端配置Nginx反向代理
安装Nginx
sudo apt install nginx -y # Debian/Ubuntu sudo yum install nginx -y # CentOS
配置Nginx虚拟主机
编辑 /etc/nginx/sites-available/default 文件:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com; # 替换为你的域名
location / {
proxy_pass http://localhost:3000; # Hexo默认端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} 启动Hexo服务
# 本地生成静态文件 hexo clean && hexo g -d # 后台运行Hexo(生产环境推荐使用pm2管理) nohup hexo server -p 3000 --debug & # 注意生产环境需关闭--debug
域名解析与HTTPS配置
域名A记录解析
在域名控制台添加:
主机记录 | 记录类型 | 值 | TTL
@ | A | 服务器公网IP | 300秒
www | A | 服务器公网IP | 300秒 申请免费SSL证书

# 安装certbot(以Ubuntu为例) sudo apt install certbot python3-certbot-nginx -y # 获取证书(替换为你的域名) sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # 自动配置Nginx并重启服务
自动化部署方案(可选)
推荐使用hexo-deployer-git配合钩子脚本实现自动部署:
# .deploy_scripts/post-deploy.sh 示例 #!/bin/bash cd ../ # 进入项目根目录 git add . && git commit -m "Auto deployment" && git push origin master
常见问题排查指南
| 现象 | 解决方案 |
|---|---|
| 无法访问博客 | 检查防火墙规则(sudo ufw allow 80)、确认域名解析生效 |
| HTTPS报错 | 检查certbot配置,确保证书文件存在/etc/letsencrypt/live/yourdomain.com |
| Hexo内容不更新 | 清理缓存hexo clean后重新生成静态文件 |
| Nginx报错502 | 确保Hexo服务在指定端口运行,检查proxy_pass配置是否正确 |
FAQs
Q1:如何将本地Hexo项目迁移到服务器?
A:先将本地代码推送到Git仓库(如GitHub),然后在服务器克隆仓库:
git clone https://github.com/yourusername/hexo-blog.git /var/www/hexo-blog cd /var/www/hexo-blog && npm install
Q2:更新文章后如何同步到服务器?
A:本地执行hexo clean && hexo d会自动触发部署脚本,通过Git将更新推送到服务器,若使用pm2管理进程,需重启服务:pm2 restart hexo。
小编有话说
搭建服务器版Hexo博客看似复杂,但按步骤操作即可完成,建议新手先在本地用Hexo生成静态页面测试,熟悉命令后再迁移到服务器,重点注意三点:
- 安全设置:禁用root账户SSH登录,修改默认22端口
- 定期备份:使用
tar -zcvf backup.tar.gz /var/www/hexo-blog打包网站文件 - 性能优化:开启Nginx缓存(
proxy_cache_path)、压缩传输(gzip)
完成部署后,你将拥有完全自主的博客空间,可自由扩展功能(如添加评论系统、统计插件等),遇到问题时,官方文档(https://hexo.io/docs/)和Ng
各位小伙伴们,我刚刚为大家分享了有关“服务器搭建hexo博客”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复