个人博客搭建

这年头谁还没有个博客,真的是~~~


本文档介绍如何使用阿里云服务器,通过 Nginx 和 Hexo 搭建个人博客的详细流程,服务器系统为 Debian12,个人电脑为 Windows11

Win11 本地操作(第一部分)

安装 git

默认你已经安装了 Windows Terminal 和 PowerShell 7

通过本链接 Git - Downloading Package 下载 Windows 版 git 并进行基本设置,打开 Windows Terminal 执行如下命令

1
2
git config --global user.email "你的邮箱地址"
git config --global user.name "你的名字"

生成 ssh 公钥

继续在 Windows Terminal 中执行

1
2
cd ~
ssh-keygen -t rsa

此时命令会提示设置 passphrase,可以直接回车跳过,这样在 deploy 博客内容时就不用输入密码,操作方便;当然为了安全,建议设置并牢记 passphrase。执行完该命令之后,会在你的用户文件夹下生成 .ssh/ 文件夹,其中含有 id_rsaid_rsa.pub 两个文件,其中 id_rsa.pub 存放了公钥,打开该文件并复制其中内容,之后会使用到

阿里云 Debian 的操作

首先 ssh 连接到阿里云 Debian,此时默认你已经拥有域名并且与阿里云服务器进行了绑定

安装 git、nginx

1
2
3
4
apt update
apt install git
apt install nginx
systemctl start nginx

在 Debian 中,nginx 的配置文件位置为 /etc/nginx/,你对网站的一些设置和 ssl 证书的存放都将在这个位置;nginx 所管理的网站的内容文件存放位置为 /usr/share/nginx/html/。此时当启动 nginx 之后在浏览器中输入自己的网址,就可以打开自己的网站,默认为 nginx 的欢迎界面。

创建 Linux 用户

此时我们使用的是 Debian 的 管理员账户,我们先在阿里云 Debian 中创建一个个人账户,假设名字就叫做 stupidme,当然如果你已经在 Debian 中拥有个人账户,可以跳过,直接使用你的账户即可

1
2
useradd -d "/home/stupidme/" -m -s "/bin/bash" stupidme
passwd stupidme #创建stupidme用户密码

创建此用户的目的是在从 Windows 系统向服务器推送网站内容时,由比用户进行中转,接收来自 Windows 的文件,然后再把文件放置到服务器存放网站内容的文件夹 /usr/share/nginx/html/ 中,为了能顺利将网站文件放置到 nginx 文件夹下,我们需要对此文件夹有相应的读写权限,我们很暴力的直接将这个文件夹变成了我们所有的

1
chown -R stupidme:stupidme /usr/share/nginx/html/

初始化一个 git 库

登录 stupidme用户

1
su stupidme

在 stupidme 用户的用户目录下创建 git 库

1
2
cd ~
git init --bare hexoBlog.git

创建 hook

1
2
cd ~/hexoBlog.git/hooks
vim post-receive

在 vim 中输入下列内容

1
2
#!/bin/bash
git --work-tree=/usr/share/nginx/html/ --git-dir=/home/stupidme/hexoBlog.git checkout -f

为 post-receive 添加可执行权限

1
chmod u+x /home/stupidme/hexoBlog.git/hooks/post-receive

创建 ~/.ssh/authorized_keys 文件

1
2
3
4
5
6
cd ~
mkdir .ssh
vim .ssh/authorized_keys
# 将前面复制的id_rsa.pub文件中的公钥粘贴进vim并保存
chmod 700 /home/blog/.ssh
chmod 600 /home/blog/.ssh/authorized_keys

Win11 本地操作(第二部分)

安装 Node.js

此处使用的是 Node.js 20.11.1 LTS

安装 hexo

在你喜欢的位置新建一个文件夹,用于存放你网站的内容,比如我新建的文件夹为 C:\Users\zhang\stupidme.cn\,进入这个文件夹,右键选择在终端中打开,开始安装 hexo 并初始化自己的网站

由于国内使用 npm 速度很慢,先修改 npm 镜像为淘宝后再安装 hexo

1
2
npm config set registry https://registry.npmmirror.com
npm install -g hexo

安装结束后可以通过 hexo -v 验证是否安装成功,然后执行初始化并安装必要的插件

1
2
hexo init
npm install hexo-deployer-git --save

此时在文件夹会生成许多文件,找到并打开配置文件 _config.yml,找到最下方的 deploy 进行修改

1
2
3
4
deploy:
type: git
repo: stupidme@serverip:/home/stupidme/hexoBlog.git # serverip替换为你的服务器IP地址或网站网址
branch: master

至此,所需要的基本配置已经完成,执行以下命令编译你的网站内容并进行发布

1
hexo g -d

如果你之前生成公钥时设置了 passphrase,此时需要输入 passphrase,若此处没有报错,打开浏览器输入你的网站就可以查看你的博客了

作者

苏维埃不喝可乐

发布于

2021-01-01

更新于

2025-05-08

许可协议