记博客网站的搭建过程

从零到一:Hexo博客网站的搭建过程和一些坑

1. 简单设计与准备

鉴于本人对网站建设几乎没有经验,我预想的博客网站设计就是一个简单的静态网站,有基本的展示文章和便捷优雅的更新功能即可。博客还是要看重内容,不能太在乎形式,舍本逐末。 基于上面的需求,本网站采用云服务器+hexo静态网站生成器制作。 购买云服务器并配置好安全组,允许 SSH 连接(注意自己服务器的ssh端口是不是默认的22号端口)。

2. 远程连接与环境准备

  1. 本地电脑:安装 Hexo 我的本地和云服务器都使用ubuntu系统。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 安装 Node.js 和 Git
sudo apt update
sudo apt install nodejs npm git -y

# 2. 安装 Hexo 命令行工具
sudo npm install -g hexo-cli

# 3. 选择一个文件夹进行初始化(名字自定)
hexo init my-blog
cd my-blog
npm install

# 4. 本地预览
hexo server

访问 http://localhost:4000 确认本地环境 OK。

  1. 云服务器:安装Nginx 首先,使用,在连接和配置免密登录时必须显式指定。
  • SSH 登录服务器:
1
2
# 使用自己的服务器IP和ssh端口号进行登录
ssh root@xx.xx.xx.xx -p 22

注意这里需要配置好公钥免密登录,否则在后续的git操作中会提示输入密码。参考这篇文章

  • 安装基础环境:
1
2
sudo apt update
sudo apt install git nodejs npm nginx -y

3. Nginx 配置与站点发布

为了让浏览器能访问博客,需要配置 Nginx 并处理权限。

  • 创建博客根目录: sudo mkdir -p /var/www/hexo
  • 配置站点信息: 修改 /etc/nginx/sites-available/blog
1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name 154.198.43.19; # 或域名
root /var/www/hexo;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

  • 激活配置并重启:
1
2
3
4
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/
sudo systemctl restart nginx

  • 权限修正: sudo chown -R www-data:www-data /var/www/hexo

这个时候应该可以通过 http://xx.xx.xx.xx 访问到博客网站了。会显示nginx的默认欢迎页面。


4. Hexo 配置与站点发布

为了让博客网站能正常工作,需要配置 Hexo 并发布静态文件。


4. Git Hooks 自动化部署

在服务器建立 Git 仓库,实现本地 hexo d 后自动更新网页。

  • 初始化仓库: git init --bare ~/blog.git
  • 编写 post-receive 钩子:~/blog.git/hooks/post-receive 中加入: git --work-tree=/var/www/hexo --git-dir=/root/blog.git checkout -f
  • 赋予执行权限: chmod +x ~/blog.git/hooks/post-receive

同时在本地博客配置文件 _config.yml 中添加远程仓库:

1
2
3
4
deploy:
type: git
repo: ssh://root@xx.xx.xx.xx:22/root/blog.git
branch: master
  • 发布静态文件:
1
hexo clean && hexo g && hexo d

这个时候,本地博客网站就可以通过 hexo d 命令直接发布到服务器了。 访问自己的博客网站 http://xx.xx.xx.xx 即可查看最新的博客内容。


5. 问题一:LaTeX 数学公式渲染

请参考这篇文章


记博客网站的搭建过程
https://eleco.top/2025/05/01/build-blog/
作者
Eleco
发布于
2025年5月1日
许可协议