美文网首页
【HEXO】尽可能简单的搭建HEXO到私有服务器~

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

作者: MaxJCheung | 来源:发表于2020-02-04 20:04 被阅读0次

    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
    

    😄

    相关文章

      网友评论

          本文标题:【HEXO】尽可能简单的搭建HEXO到私有服务器~

          本文链接:https://www.haomeiwen.com/subject/toedxhtx.html