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

2019-12-23    seo达人

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的内容详情点击这里



在 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文件时要把的归属用户与用户组更改为创建的用户


分享本文至:

日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档