Hexo服务器部暑_私服和GitHub

A) Hexo 在私人服务器部署
Git钩子自动部署
Hexo 是啥?
简单来说,Hexo 是一个快速、简洁且高效的静态博客框架。
核心概念
基于 Node.js:Hexo 是用 JavaScript 编写的,你需要先在本地电脑上安装
静态站点生成器:这是最关键的一点。Hexo 的核心工作是把你用 Markdown 语法写的文章和一些模板文件,转换成一整套纯粹的 HTML、CSS、JavaScript 静态文件。
对比动态博客(如 WordPress):WordPress 需要 PHP 环境、数据库(如 MySQL)和 Web 服务器(如 Apache/Nginx)协同工作。当用户访问你的博客时,服务器需要动态地从数据库里查询数据,然后组合成网页显示出来。
Hexo 的工作方式:你只需要在本地电脑上写好文章,然后通过一条命令(如 hexo generate),Hexo 就会把所有的文章和页面都“编译”好,生成最终的静态网站。你只需要把这些静态文件上传到任何能存放静态文件的服务器或平台上即可。
Hexo 的主要工作流程
使用 Hexo 搭建博客的典型步骤是:
安装:通过 npm(Node.js 的包管理器)全局安装 Hexo:npm install -g hexo-cli
初始化:在你的项目目录下执行 hexo init my-blog,Hexo 会创建一个包含基本目录结构的博客文件夹。
写文章:使用命令 hexo new “我的第一篇文章” 创建一篇新的 Markdown 文件,然后在生成的 .md 文件里用 Markdown 语法书写内容。
本地预览:执行 hexo server 命令,就可以在浏览器里通过 http://localhost:4000 查看博客效果。
生成静态文件:文章写好后,执行 hexo generate(可简写为 hexo g),生成静态网站文件,它们会保存在 public 文件夹里。
部署:执行 hexo deploy(可简写为 hexo d),可以将 public 文件夹中的内容一键部署到远程平台(最常用的是 GitHub Pages 或 Gitee Pages)。
将Hexo安装到自己的服务器上是一个很棒的选择,它能让你完全掌控自己的博客平台。现在整理了详细的步骤和方案。
这种方法利用
A1) Hexo 私人服务器部署
首先,需要确保有一台云服务器(如阿里云、腾讯云、AWS等)或私人服务器,并通过
A11) update & upgrade
更新系统包:在安装任何软件之前,最好先更新系统的包列表。
1 | # 对于Ubuntu/Debian系统 |
A12) Nginx 安装并配置
1 | # 安装Nginx |
在Nginx配置文件中添加如下内容,并注意将server_name替换为你的域名或服务器IP:
1 | server { |
检查Nginx配置并重启:
1 | sudo nginx -t # 检查语法 |
A13) Git 安装
A31) 安装Git:版本控制工具Git是后续部署和更新所必需的
1 | # Ubuntu/Debian |
A14) 服务器配置Git用户与权限
(使用Git钩子方案)配置Hexo的部署设置
为了安全,建议创建一个专门的Git用户来管理仓库和部署。
1 | # 创建git用户 |
A15) 创建Git裸仓库并配置钩子
1 | # 切换至git用户 |
A16) 本地配置SSH
配置SSH密钥认证(免密推送)
为了提高安全性和便捷性,建议使用SSH密钥对进行认证。
a) 在本地机器生成SSH密钥对(如果还没有的话):
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 一直回车即可 |
b) 将本地公钥(~/.ssh/id_rsa.pub)的内容,添加到服务器的git用户的~/.ssh/authorized_keys文件中。
1 | # 在服务器上,以git用户操作 |
c)(可选)禁用git用户的shell登录:为了安全,可以限制git用户只能进行Git操作。
1 | # 确保git-shell存在 |
A2) Hexo 本地主机部署
本地主机安装Node.js与Hexo
A21) 本地安装 Node.js和 npm
安装Node.js和npm:
对于 Linux 系统,除了从官网下载二进制包或使用包管理器(如 apt, yum)安装外,更推荐使用 nvm (Node Version Manager) 来安装和管理 Node.js 版本,这样可以非常方便地切换版本。
A211) curl wget 安装 nvm
a) 安装 nvm (以 curl 方式为例):
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash |
或者使用 wget:
1 | wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash |
安装完成后,重启终端或执行 source ~/.bashrc(或 source ~/.zshrc,取决于你的 shell)。
A212) nvm 配置国内源
为 nvm 配置国内镜像源(加速 Node.js 版本和源码下载):
在你的 shell 配置文件(如 ~/.bashrc, ~/.zshrc)中添加以下环境变量:
1 | # 设置 Node.js 二进制包镜像(可选,国内镜像加快下载速度) |
然后同样 source ~/.bashrc 或重启终端生效。
A213) nvm 安装 Node.js:
1 | nvm install --lts # 安装最新的 LTS 版本 |
验证安装
无论哪种方式安装完成后,请打开命令行终端(Windows 上是 CMD 或 PowerShell,macOS/Linux 上是 Terminal),执行以下命令验证是否安装成功:
1 | node -v |
如果这两条命令分别显示了 Node.js 和 npm 的版本号(例如 v20.15.0 和 10.5.2),说明安装成功。
A214) npm 配置国内源
Node.js 安装好后,就可以通过 npm 安装各种包了。但 npm 默认的源在国外,下载速度可能很慢。将源切换到国内镜像(如淘宝镜像、腾讯云镜像等)可以极大提升下载速度。
永久配置国内镜像源
执行以下命令可以将淘宝镜像(或其他你偏好的国内镜像)设置为 npm 的默认下载源:
1 | # 设置淘宝镜像 |
运行npm config get registry,如果输出的地址是你刚刚设置的国内镜像源地址,则表示设置成功。
安装完成后,验证安装:
1 | node -v |
A22) 本地计算机上安装Hexo
在本地计算机上安装Hexo(如果尚未安装):
1 | npm install -g hexo-cli |
验证Hexo安装:
1 | hexo -v |

A23) 初始化Hexo博客
初始化你的Hexo博客项目:
1 | mkdir my-blog/ |
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init$ cd $ npm install
初始化后,您的项目文件夹将如下所示:
. ├── _config.yml ├── package.json ├── scaffolds ├── source | ├── _drafts | └── _posts └── themes
A24) 配置Hexo的部署设置
(如果使用Git钩子方案)配置Hexo的部署设置:
编辑Hexo博客目录下的_config.yml文件,找到deploy部分,修改为如下格式:
1 | # 注意缩进和空格! |
A25) 安装Hexo的Git插件
1 | npm install hexo-deployer-git --save |
B) Hexo 服务器在 GitHub 部署
C) Hexo _config.yml 设定
post_asset_folder: true
当新增文章 aaa.md 时,系统自动新增 folder aaa/hexo-renderer-marked
1 | marked: |
D) Q & A
D1) Server 端要不要安装 Node.js?
Server 端不用安装 Noge.js