这是此博客的第一条帖子,在此以示纪念
不知道写什么,就写点关于本人是如何制作这个博客的吧
安装 hexo
1 | npm install -g hexo-cli |
安装完成后自己找个地方放这个博客,然后初始化一个博客项目
1 | // 初始化项目 |
本地运行项目
1 | hexo server |
此时在本地打开浏览器,通过 http://localhost:4000/ 就可访问基于 Hexo 的个人博客主页了
部署博客至服务器
购买服务器、域名等操作就忽略了(不需要域名也可以)
在服务器上安装 git(这里使用的是 centos7 操作系统)
1 | yum install git |
创建 Git 用户
为了实现博客的自动部署,我们后面要使用公钥免密登录服务器。
为了安全起见,最好不要使用 root 用户免密登录。
因此,我们要创建一个新的 git 用户,用于远程公钥免密登录服务器。
1 | // 创建用户 |
vim 使用方法👉 点我
找到 root ALL=(ALL) ALL,在下面添加一行 git ALL=(ALL) ALL
1 | // 保存退出后撤销权限 |
这样就可以使用 git 用户远程登录服务器了
给 Git 用户配置 ssh 免密公钥登录
该步骤是基于 Hexo 搭建个人博客比较关键的步骤。
既需要在本地计算机上操作,也需要在服务器上进行操作
使用 git 用户免密公钥登录服务器的原理是:在本地计算机生成一个公钥文件和一个秘钥文件(类似于一个钥匙配一把锁),然后使用 FTP 工具将公钥文件上传到阿里云服务器,并公钥安装到 authorized_keys 列表中去(即:将公钥文件的内容拷贝到 authorized_keys 文件中去)。这样本地计算机便可以通过 ssh 方式免密连接我们的服务器了
1.在服务器端将登陆用户切换到 git 用户,然后在~目录(用户家目录)下创建 .ssh 文件夹,用来存放公钥
1 | // 切换用户 |
2.在本地生成公钥/私钥对
在本地计算机桌面右键打开 GitBash
1 | cd ~ |
接下来,碰见系统提示就直接回车键。此时便会在本地计算机的用户家目录下自动生成 .ssh 文件夹(. 开头的文件都是隐藏的),并在其中创建两个文件,分别为:id_rsa(私钥)和 id_rsa.pub(公钥)
3.在本地计算机上给私钥设置权限
1 | chmod 700 ~/.ssh |
4.上传 id_rsa.pub(公钥)
下载并安装 FTP 工具
我用的是 xftp
把生成的 id_rsa.pub(公钥)上传到服务器的 ~/.ssh 目录下
上传完成后切回服务器端,继续以 git 用户的身份进入服务器、~/.ssh 目录
把上传的 id_rsa.pub(公钥) 重命名为 authorized_keys
1 | mv id_rsa.pub authorized_keys |
5.在服务器上设置文件权限
1 | chmod 600 ~/.ssh/authorized_keys |
6.确保设置了正确的 SELinux 上下文
1 | restorecon -Rv ~/.ssh |
现在,当您使用 ssh 远程登录服务器时,将不会提示您输入密码(除非您在创建密钥对时输入了密码)
7.接下来在本地计算机上使用 ssh 方式连接我们的云服务器
1 | ssh -v git@xxx.xxx.xxx.xxx |
或
1 | ssh git@xxx.xxx.xxx.xxx |
此时将会跳过输入密码阶段,直接连接成功
配置 Git 仓库
在服务器上使用 git 用户创建一个 Git 仓库,并且在该仓库中新建一个 post-receive 钩子文件
1 | cd ~ |
输入:git --work-tree=/home/www/hexo --git-dir=/home/git/hexo.git checkout -f
然后保存退出
这么做的意义是让钩子文件删除 /home/www/hexo 目录下原有的文件,然后从 blog.git 仓库 clone 新的博客静态文件到 /home/www/hexo 目录下
授予钩子文件可执行权限
1 | chmod +x ~/hexo.git/hooks/post-receive |
至此就完成了所有关于服务器端的配置
如果无效就重启服务器
其它配置
客服端 hexo 配置
在本地计算机 hexo 的工程目录下,找到_config.yml,对 deploy 参数进行修改
安装插件:hexo-deployer-git 和 hexo-server
在本地项目文件夹下右键打开 GitBash,输入以下命令
1 | npm install hexo-deployer-git --save |
这俩插件的作用分别是使用 Git 自动部署,和 hexo 本地简单的服务器
使用 Hexo 生成、发布个人博客
1 | hexo clean |
此时,便可以通过浏览器访问 http://xxx.xxx.xxx.xxx:80/ 进入 hexo 博客主页了
参考文献:http://www.atangbiji.com/2019/12/22/buildHexoBlog/