个人博客搭建
这年头谁还没有个博客,真的是~~~
本文档介绍如何使用阿里云服务器,通过 Nginx 和 Hexo 搭建个人博客的详细流程,服务器系统为 Debian12,个人电脑为 Windows11
Win11 本地操作(第一部分)
安装 git
默认你已经安装了 Windows Terminal 和 PowerShell 7
通过本链接 Git - Downloading Package 下载 Windows 版 git 并进行基本设置,打开 Windows Terminal 执行如下命令
1 | git config --global user.email "你的邮箱地址" |
生成 ssh 公钥
继续在 Windows Terminal 中执行
1 | cd ~ |
此时命令会提示设置 passphrase,可以直接回车跳过,这样在 deploy 博客内容时就不用输入密码,操作方便;当然为了安全,建议设置并牢记 passphrase。执行完该命令之后,会在你的用户文件夹下生成 .ssh/
文件夹,其中含有 id_rsa
、id_rsa.pub
两个文件,其中 id_rsa.pub
存放了公钥,打开该文件并复制其中内容,之后会使用到
阿里云 Debian 的操作
首先 ssh 连接到阿里云 Debian,此时默认你已经拥有域名并且与阿里云服务器进行了绑定
安装 git、nginx
1 | apt update |
在 Debian 中,nginx 的配置文件位置为 /etc/nginx/
,你对网站的一些设置和 ssl 证书的存放都将在这个位置;nginx 所管理的网站的内容文件存放位置为 /usr/share/nginx/html/
。此时当启动 nginx 之后在浏览器中输入自己的网址,就可以打开自己的网站,默认为 nginx 的欢迎界面。
创建 Linux 用户
此时我们使用的是 Debian 的 管理员账户,我们先在阿里云 Debian 中创建一个个人账户,假设名字就叫做 stupidme
,当然如果你已经在 Debian 中拥有个人账户,可以跳过,直接使用你的账户即可
1 | useradd -d "/home/stupidme/" -m -s "/bin/bash" 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 | cd ~ |
创建 hook
1 | cd ~/hexoBlog.git/hooks |
在 vim 中输入下列内容
1 |
|
为 post-receive 添加可执行权限
1 | chmod u+x /home/stupidme/hexoBlog.git/hooks/post-receive |
创建 ~/.ssh/authorized_keys 文件
1 | cd ~ |
Win11 本地操作(第二部分)
安装 Node.js
此处使用的是 Node.js 20.11.1 LTS
安装 hexo
在你喜欢的位置新建一个文件夹,用于存放你网站的内容,比如我新建的文件夹为 C:\Users\zhang\stupidme.cn\
,进入这个文件夹,右键选择在终端中打开,开始安装 hexo 并初始化自己的网站
由于国内使用 npm 速度很慢,先修改 npm 镜像为淘宝后再安装 hexo
1 | npm config set registry https://registry.npmmirror.com |
安装结束后可以通过 hexo -v
验证是否安装成功,然后执行初始化并安装必要的插件
1 | hexo init |
此时在文件夹会生成许多文件,找到并打开配置文件 _config.yml,找到最下方的 deploy 进行修改
1 | deploy: |
至此,所需要的基本配置已经完成,执行以下命令编译你的网站内容并进行发布
1 | hexo g -d |
如果你之前生成公钥时设置了 passphrase,此时需要输入 passphrase,若此处没有报错,打开浏览器输入你的网站就可以查看你的博客了