Hexo静态博客的搭建过程
首先,我自己的情况如下:
- 想要搭建一个博客,拿来记笔记 & 挂大佬友链 & 自己的简历内容++
- 有一台(其实是两台)组的云服务器,平时没什么用,算力也不够我折腾太多
- 被身边的人催着搭博客
- 今天有空
综上所述,我开始搭博客,本来想本地Flask开发一下博客,包装Docker然后丢进服务器直接部署的,奈何懒狗本性爆发,就用现成的框架直接做了。
闲盐少许,讲一下我自己的搭建过程。
基础准备
一台CentOS服务器,一台装了Windows的笔记本,一个有时间的人
环境搭建
简单来说,我的目标是实现一个逻辑:
通过在笔记本上本地编辑Markdown文件,用本地Hexo编译成静态页面,然后通过Git把这些静态页面上传到服务器上,服务器通过Nginx去显示这些页面。
我也不知道Hexo是怎么编译的,我也不知道Nginx是怎么把那些文件和路径自动理清的,我只知道我要开始写博客.jpg
所以我们需要对笔记本(本地)和服务器都进行一些环境部署:
- 本地:Hexo,Git
- 服务器:Nginx,Git
Git真是好文明!
本地环境
所以首先需要在本地部署Hexo和Git,但是Hexo的部署我很久之前就搞好了,已经忘记遇见什么坑了,总之去搜一下Hexo的官网和CSDN、Stackoverflow、Bing什么的然后这样那样一下就好了,如果我重装Hexo的话应该就会把这里的部署过程全写上,现在只记得:
- 安装Node.js环境
- 安装npm,cnpm(cnpm是真神)
我知道!(谁问你了)Git的安装最简单了,只要去官网安装,然后可能需要手动也可能不需要手动添加到系统路径PATH里面就行了,在cmd里面执行Git -v
就能知道有没有装好了。
装好Hexo和Git,本地环境就算结束。
服务器环境
服务器的Git安装更简单,直接指令安装就结束了:sudo yum install -y git
,如果是yum源没弄好的话会找不到git;另外也可以直接去官网下载一个源码包,然后解压缩手动编译。
Nginx我自己在部署的时候是选择了wget下载源码然后手动编译,主要是因为没加yum源,找不到这个软件。
1 | # 下载 |
这部分我完全参考这个老哥的文章进行的,没有产生bug。
操作你o.O!Git部分
在服务器上新开一个git仓库,新新的,空空的。
1 | mkdir -p projects/blog // 项目的真实目录 |
1 | #!/bin/sh |
注意,这里写的post-receive
功能就是把每次接收到git仓库里的东西,打包丢到另一个文件夹里面,在这个脚本里就是把/home/git/repos/blog.git
里的东西丢进/home/git/projects/blog
文件夹,所以等下Nginx检测文件的路径要写成/home/git/projects/blog
才行。
操作你O.o!Nginx部分
这里首先要装好Nginx,安装过程先进行一个跳的过,值得注意的是,我手动make install
的Nginx并没有生成什么site-enable
和default
目录,但是不影响我启动:
1 | nginx |
启动以后直接访问服务器外网IP,出现Nginx的欢迎页面即可。
然后去/usr/local/nginx/conf/nginx.conf
修改配置文件:
1 | location / { |
然后Nginx就会去root字段后面的这个文件夹找文件。
操作你ovo!本地hexo上传服务器
修改hexo产生的_deploy
文件
1 | deploy: |
然后新建个hexo文章,hexo g
,hexo d
就完事了。