轻量、简易、高逼格的博客 hexo

hexo  pc机上的配置 (一切操作都是在git bash)

安装git

 

安装nodejs

 

安装hexo

备注:用 npm 安装话经常出现卡住而导致无法正常安装,解决办法就是修改 npm 的安装源,

这里选择淘宝 NPM 镜像,这是一个完整 npmjs.org 镜像,你可以用此代替官方版本,同步频

率目前为 10分钟 一次以保证尽量与官方服务同步。

     npm config set registry https://registry.npm.taobao.org

  • 创建 你的Hexo 目录

       mkdir "your hexo dir name"

       //创建一个自定义的hexo目录,比如我就在用户根目录创建了一个myhexo文件夹(macOS)

       cd "your hexo dir name" //进入到刚刚创建的目录

  •   安装 hexo-cli

        npm install -g hexo-cli

  •   初始化该文件夹

        hexo init

  •   安装hexo的扩展插件

        npm install

  •     等执行成功以后安装两个插件, hexo-deployer-git 和 hexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。

       npm install hexo-deployer-git --save
       npm install hexo-server --save

 

  •     到这里hexo的本地搭建已经基本结束了。
  •     打开hexo

       hexo g

       hexo server

 git用户

  • 创建以用于提交

        git config --global user.name "yourname"    
        git config --global user.email "youremail

 生成ssh公钥密钥

       cd ~/.ssh
       ssh-keygen -t rsa -C "你的email"

-----------------------------------------------------------------------------------------------------------------

linux (ubuntu + 阿里云)  服务器上的配置

 安装nginx

  • 切换至root用户

       sudo su root
       apt-get install nginx

  •     查看nginx版本

         nginx -v

  •     启动nginx

       service nginx start

  •     可以查看nginx的端口号

        ps -aux | grep nginx

  •     启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功

        cd /etc/nginx
        vim sites-available/default 

    因为我们是拿nginx做 Web 服务器,所以我们需要安装部署好nginx,我们可以专门为hexo创建一个部署目录,比如我创建了/home/xufushen/hexo文件夹,并把nginx的配置文件nginx.conf中的部署目录改为/home/xufushen/hexo,配置文件在/etc/nginx/conf里;同样可以使用默认目录,nginx的默认目录为/var/www/html.

 安装node.js

        curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
        apt-get install -y nodejs

 安装git

          apt-get install -y git

 创建一个git用户

         sudo adduser git

    虽说现在的仓库只有我们自己在使用,新建一个 git 用户显得不是很有必要,但是为了安全起见,还是建议使用单独的 git 用户来专门运行 git 服务

 添加证书登入

        mkdir .ssh
        mkdir authorized_keys

    刚在在本地创建或者已经拥有的公钥,也就是 ~/.ssh/id_rsa.pub 文件里的内容添加到服务器的 /home/git/.ssh/authorized_keys 文件中,如上所说,添加公钥之后可以防止每次 push 都输入密码。  (使用Xftp软件直接将文件拖入)

 初始化 Git 仓库

  • 可以将git仓库放到自定义位置,我是将其放在 /xufushen/blog/ 目录下的

        sudo mkdir /xufushen/blog/
        cd /xufushen/blog/
        git init --bare blog.git

 使用 --bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在。

 配置 git hooks

我们这里要使用的是 post-receive 的 hook,这个 hook 会在整个 git 操作过程完结以后被运行.关于hooks的内容详情[点击这里](https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90)

  • 在 blog.git/hooks 目录下新建一个 post-receive 文件

        cd /var/repo/blog.git/hooks

  •     编辑这个文件

        vim post-receive

    设置这个文件的可执行权限
        chmod +x post-receive

 改变 blog.git 目录的拥有者为 xufushen 用户

    chown -R xufushen:gxufushenit blog.git

 禁用 xufushen 用户的 shell 登录权限

  • 出于安全考虑,我们要让 xufushen 用户不能通过 shell 登录。可以编辑 /etc/passwd 来实现


       vim /etc/passwd
        #将
        git:x:1001:1001:,,,:/home/git:/bin/bash
        #改成
      git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样 xufushen 用户可以通过 ssh 正常使用 git,但是无法登录 shell。    至此,服务器环境的搭建已经基本结束。

配置本地_config.yml文件,完成自动化部署 

配置 hexo 的 deploy

  •     修改 hexo 目录下的 _config.yml 找到 deploy, 修改为:

   deploy:
        ype: git
        repo: xufushen@47.100.184.175:/home/xufushen/blog/blog.git
           branch: master
    repo的地址为你自己的地址以及 git 仓库目录

使用hexo blog

  •     新建文章:

        hexo new "post name"

  •     生成 & 部署:

        hexo clean && hexo g && hexo d

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在搭建的过程遇到的问题

  •  连到服务器后无法连接到repository           

这是因为你在创建blog.git与hexo文件时要把的归属用户与用户组更改为创建的用户

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值