云服务器配置指南 (八):Hexo,程序员的浪漫

每个程序员都应该有一个自己的博客。

不为别的,就为了那份“我的地盘我做主”的自由。没有广告,没有审核,没有算法推荐。你想写什么就写什么,想怎么排版就怎么排版。

本章我们将使用 Hexo,这个在程序员圈子里最流行的静态博客框架,搭建一个属于你自己的精神家园。


8.1 为什么是 Hexo?

市面上的博客框架多如牛毛,WordPress、Typecho、Hugo……为什么选 Hexo?

  • :生成的是纯静态 HTML,访问速度飞快,对服务器资源要求极低。
  • 省心:不用维护数据库,不用担心被 SQL 注入。
  • 生态好:主题多到挑花眼,插件多到用不完。
  • Markdown:用程序员最熟悉的 Markdown 写文章,舒服。

8.2 本地搭建:先在自己电脑上跑起来

前置条件:你的电脑上得有 Node.js 和 Git(这俩我们之前都装过了)。

1. 安装 Hexo

1
npm install -g hexo-cli

2. 初始化博客

找个风水宝地(文件夹):

1
2
3
mkdir myblog && cd myblog
hexo init
npm install

3. 跑起来看看

1
hexo server

打开浏览器访问 http://localhost:4000。恭喜你,你的博客诞生了。


8.3 换个皮肤:NexT 主题

默认主题虽然简洁,但有点太素了。我们换个经典的 NexT 主题。

1
npm install hexo-theme-next

修改根目录下的 _config.yml

1
theme: next

再重启一下 hexo server,是不是瞬间高大上了?


8.4 部署到服务器:让全世界看到

在本地自嗨没意思,我们要把它发到云服务器上。

原理

我们利用 Git 的 post-receive 钩子。
简单说就是:你在本地 hexo d 推送代码 -> 服务器收到代码 -> 自动把生成的 HTML 复制到 Nginx 的网站目录。

服务器端配置

1. 创建 git 用户

为了安全,我们专门创建一个用户来处理博客部署。

1
sudo adduser git

2. 配置免密登录

把你的公钥(id_ed25519.pub)复制到 /home/git/.ssh/authorized_keys

3. 创建裸仓库

1
2
3
4
su - git
mkdir -p ~/blog.git
cd ~/blog.git
git init --bare

4. 创建钩子

1
vim ~/blog.git/hooks/post-receive

写入:

1
2
#!/bin/bash
git --work-tree=/var/www/blog --git-dir=/home/git/blog.git checkout -f

给它执行权限:

1
chmod +x ~/blog.git/hooks/post-receive

5. 创建网站目录

切回 root 用户(或者有 sudo 权限的用户):

1
2
sudo mkdir -p /var/www/blog
sudo chown -R git:git /var/www/blog

6. 配置 Nginx

修改 Nginx 配置,指向 /var/www/blog

1
2
3
4
5
6
server {
listen 80;
server_name blog.yourdomain.com;
root /var/www/blog;
index index.html;
}

本地配置

回到你电脑上的博客目录,安装 Git 部署插件:

1
npm install hexo-deployer-git --save

修改 _config.yml

1
2
3
4
deploy:
type: git
repo: git@your_server_ip:/home/git/blog.git
branch: master

一键部署

见证奇迹的时刻:

1
hexo clean && hexo g -d

如果一切顺利,你的博客就已经上线了!


8.5 写文章

以后写文章的流程就是:

  1. hexo new "文章标题"
  2. 用 Markdown 编辑器写文章。
  3. hexo g -d 发布。

就是这么简单,就是这么纯粹。

下一章,我们将探索 AI 的力量,在服务器上部署私有的大模型服务。