博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hexo+github搭建博客
阅读量:6894 次
发布时间:2019-06-27

本文共 2010 字,大约阅读时间需要 6 分钟。

前提环境:node.js git

1.hexo安装

mkdir MyBlogcd MyBlognpm install hexo-cli -ghexo initnpm installhexo server复制代码

这个时候应该在console会显示:

Hexo is running at http://0.0.0.0:4000/.

这个时候直接访问该地址,即部署到本地的博客:

2.公钥和私钥生成及其配置

进入~/.ssh目录,目录中可能已经存在其他公钥和私钥对,现在要专门添加一个新的公私钥对。

//以指定名称生成公私钥对ssh-keygen -t rsa -C "B" -f B复制代码

然后将公钥添加到github账号下

这个时候,.ssh目录下应该有多对公私钥,现在查看密钥列表

ssh-add -l复制代码

密钥列表里面应该没有刚才新建的密钥,现在将它添加进去

ssh-add ~/.ssh/B复制代码

然后再使用ssh-add -l 发现已经添加了,A是我之前添加的。

2048 ac:51:8d:fc:1e:6f:07:ca:3b:3d:c7:0b:79:ee:a1:27 A (RSA)2048 73:81:8f:03:04:7e:56:a0:cf:22:98:52:47:12:ee:3b /Users/user/.ssh/B (RSA)复制代码

现在.ssh目录中就了2对连接github.com的公私钥对,现在通过.ssh下config文件去配置host,在不同的情况下通过对应的公私钥对连接github,配置如下:

Host github     HostName github.com     User git     IdentityFile ~/.ssh/AHost myBlog     HostName github.com     User git     IdentityFile ~/.ssh/B                   复制代码

然后通过如下方式,确认以私钥B连接到github

ssh -T git@myBlog复制代码

输出:

Hi yourName! You've successfully authenticated, but GitHub does not provide shell access.

说明已经成功

3.在github上新建repo,以yourName.github.io方式命名(必须),youName是github上的账号名称。

4.配置hexo部署到github

vim _config.yml复制代码
deploy:  type: git  repository: git@myBlog:yourName/yourName.github.io.git  branch: master复制代码

hexo配置文件的语法是冒号后面必须有空格,否则在之后部署的时候会报错。

然后执行如下命令,安装git部署的工具:

npm install hexo-deployer-git --save复制代码

最后生成静态文件并部署:

hexo g -d复制代码

访问yourName.github.io可以查看最后部署到github上的效果

问题解答:

1.执行hexo g -d的时候,遇到:

Error: Permission denied(publickey).

fatal: Could not read from remote repository

解决办法:

1.先看一下.ssh目录下的配置文件config

cd ~/.ssh

vim config

看一下host 别名配置的是什么,比如

Host github

​ HostName github.com

​ user git

​ IdentityFile ~/.ssh/zhengzhiwenBlog

host的别名就是github

通过ssh -T git@github 看一下是否能够连接,如果不能连接,说明github账号下没有配置公钥,先去github上配置公钥

2.确定可以通过ssh连接github之后:

查看一下系统ssh-key的代理:

ssh-add -l

如果出现 The agent has no identities。说明没有代理,需要添加,按上文中提到的方式:

ssh-add ~/.ssh/zhengzhiwenBlog

得到提示:

Identity added: /Users/zhengzhiwen/.ssh/moma (/Users/zhengzhiwen/.ssh/zhengzhiwenBlog)

说明添加成功

再试试hexo g -d命令,进行部署。

转载于:https://juejin.im/post/5b681798e51d451956056918

你可能感兴趣的文章
《流量的秘密: Google Analytics网站分析与优化技巧(第3版)》一1.7 网站分析在企业中的位置...
查看>>
Xmemcached 1.2.2发布——支持遍历所有key
查看>>
Spark Streaming 1.6 流式状态管理分析
查看>>
ANTLR快餐教程(2) - ANTLR其实很简单
查看>>
dhtmlxCombo ztree
查看>>
第16期-Linux运维挑战赛
查看>>
Java的类型擦除
查看>>
好程序员web前端教程分享js闭包
查看>>
可以给redis的hash中的hashKey设置expire吗?
查看>>
Python获取本机 IP/MAC(多网卡)
查看>>
jQuery EasyUI 学习资料链接整理
查看>>
iOS textView 选中指向左上角
查看>>
OpenSSL学习(十二):基础-指令gendsa
查看>>
mac:python:pycharm:osx:可怕的case-sensitive硬盘格式
查看>>
MySQL备份与恢复
查看>>
Unsupported major.minor version
查看>>
PHP框架高级编程——应用Symfony、CakePHP和Zend
查看>>
读取xml节点值生成一个实体类,读取xml所有节点值,读取所有xml所有节点名称
查看>>
RAC 归档目录不同的备份
查看>>
配置管理小报100122:能者上、平者让、庸者下
查看>>