Hexo的详细搭建过程 环境要求:
node.js
git
这里提供Centos8.2下的安装过程:
dnf module list nodejs dnf module install nodejs:14 -y # 这里最新版是14,所以安装版本号是14,-y是同意安装 yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum -y install git-core安装完成后,输入以下命令查询版本
node -v npm -v git --version检查一下有没有安装成功
node.js切换淘宝源方法一:设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org npm config get registry方法二:安装淘宝镜像源
npm install -g cnpm --registry=https://registry.npm.taobao.org安装淘宝源后可以用cnpm代替npm命令,这里我们选择方法一。
安装Hexo这里我们只需要输入以下命令即可
npm install -g hexo-cli # 这里把我们的博客网站叫做myblog hexo init myblog # 这里是从Github克隆的,所以可能会有点慢,参见后面的解决办法 # 程序会自动创建一个myblog文件夹有关 Hexo 的官方文档:https://hexo.io/zh-cn/docs/
Github添加仓库首先,你先要有一个GitHub账户,去注册一个吧。
注册完登录后,在+中看到一个New repository,新建仓库
创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名。点击Create repository。
刷新之后点SSH,记住文本框里的地址,比如我这里是git@github.com:aqvq/aqvq.github.io.git
生成SSH添加到GitHubSSH,简单来讲,就是一个密钥,其中,id_ed25519是你这台电脑的私人密钥,不能给别人看的,id_ed25519.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。
官方教程:Connecting to GitHub with SSH - GitHub Docs
生成SSH密钥在终端输入以下命令,youremail替换成你注册Github的邮箱。
ssh-keygen -t ed25519 -C "youremail"注意:如果你用的是不支持Ed25519算法的旧系统,要换成:
ssh-keygen -t rsa -b 4096 -C "youremail"接下来会提示输入保存密钥的文件,按"Enter"会接受默认文件位置,如下(如果要改名字请输入绝对路径,否则不会生成密钥):
> Enter a file in which to save the key (/home/you/.ssh/id_ed25519): [Press enter]接下来会提示输入安全密码,默认为空,Enter即可。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] 将SSH密钥添加到SSH代理
在后台启动SSH代理。
eval "$(ssh-agent -s)"
把你的SSH私钥添加到SSH代理。如果你用的是不同的名字创建密钥,用你自己的私钥文件的名字替换命令中的id_ed25519。
ssh-add ~/.ssh/id_ed25519
打开id_ed25519.pub,复制里面的内容。
向Github仓库添加SSH密钥点仓库的Settings,找到Deploy keys选项,点击Add deploy key,把你的id_ed25519.pub里面的信息复制到Key文本框中,勾上Allow write access,点击Add key。
【题外话】头像点 Settings 再点 SSH and GPG keys 也可以添加密钥,唯一的区别是SSH keys拥有最高权限,可以管理所有仓库,而Deploy keys只拥有部分权限,只能管理特定的仓库。你可以随便选,不影响接下来的操作。
解决提交到Github时每次都要输入用户名和密码的问题 cd myblog git init git config --global user.email "you@example.com" git config --global user.name "Your Name" git remote add origin git@github.com:aqvq/aqvq.github.io.git"you@example.com"是你的邮箱,"Your Name"是你的账号名。
origin可以是你给远端仓库起的任意名字,后面的才是真正的远端仓库的地址,就是之前创建仓库时记的地址。
在终端中输入
ssh -T git@github.com查看是否成功,如果有询问,输入yes(不是y)。然后会显示You've successfully authenticated等字样,说明成功了。
【题外话】可以先输入git remote -v查看已存在的远程连接,git remote rm origin删除已存在的远程连接。
将Hexo部署到Github进入我们博客的文件夹myblog,编辑配置文件_config.yml。