【HEXO】尽可能简单的搭建HEXO到私有服务器~

2020-02-04  本文已影响0人  MaxJCheung

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

😄

上一篇 下一篇

猜你喜欢

热点阅读