HEXO是一款非常优秀、易用、美观的开源博客框架。提供非常丰富的Theme供你使用。配合Git Pages可以非常快捷的搭建出属于自己的个人博客网站。
但国内Github访问速度不是很好,所以在自己的服务器上架设一个博客网站也是不错的选择。
原理分析
搭建之前进行简单的原理分析是有助于我们明确需要进行操作的步骤的。Hexo的原理其实很简单:
本地Markdown编译为静态Html->Git提交到远程服务器->Http服务器提高至网络
配置服务器
更新软件源
随便什么云服务器啦,比如阿里云的ubuntu。运行如下命令以更新软件源:
$ sudo apt update
配置Git
随便什么云服务器啦,比如阿里云的ubuntu。运行如下命令以更新软件源:
$ sudo apt install git
安装完成后就可以在远程使用git命令进行同步了。为了鉴权,还需要这样做:
本地机器运行:
$ ssh-keygen
一路回车之后
$ cd ~/.ssh
$ cat id_rsa.pub
复制id_rsa.pub的内容到服务器端的~/.ssh/authorized_keys文件中,如果没有这个文件就touch一个,如果文件中已经存在别的key,就另起一行复制进去
在你想要作为仓库的地方新建一个文件夹,比如:
$ mkdir /var/gitRepo
在这个文件夹中初始化Hexo的git仓库:
$ git init --bare hexo-blog.git
进入仓库并新增Hook:
$ cd hexo-blog.git/hooks
$ nano post-receive
写入内容:
rm -rf /var/www/hexo
git clone /var/gitRepo/hexo-blog.git /var/www/hexo
很显然,这是为了在git收到push提交的时候将我们提交的静态文件发布到Http服务器的根目录
这样,git的配置就结束了
配置Nginx
当然,使用Apache也是可以的,但是可能我们的服务器还会运行别的服务,所以使用Nginx顺便当作反向代理
$ sudo apt install nginx
$ sudo nano /etc/nginx/conf.d/hexo.conf
为我们想代理的端口加个配置:
server {
listen 8888 default_server;
listen [::]:8888 default_server;
server_name ****;
root /var/www/hexo;
}
****是需要代理的域名。root指向服务器根目录,和上一步git post-reveive 这个hook发布到的位置一样
配置Hexo
将本地Hexo项目的_config.yml中发布配置修改为:
deploy:
type: git
repository: user@****:/var/gitRepo/hexo-blog.git
branch: master
赶紧试试吧:
$ hexo clean
$ hexo g
$ hexo d
😄
网友评论