从0到1部署Hexo博客
什么是 Hexo?
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
安装
安装 Hexo 只需几分钟时间,若您在安装过程中遇到问题或无法找到解决方式,请提交问题,我们会尽力解决您的问题。
安装前提
安装 Hexo 相当简单,只需要先安装下列应用程序即可:
如果您的电脑中已经安装上述必备程序,那么恭喜您!你可以直接前往 安装 Hexo 步骤。
如果您的电脑中尚未安装所需要的程序,请根据以下安装指示完成安装。
安装 Git
- Windows:下载并安装 git.
- Mac:使用 Homebrew, MacPorts 或者下载 安装程序。
- Linux (Ubuntu, Debian):
sudo apt-get install git-core
- Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
Mac 用户
如果在编译时可能会遇到问题,请先到 App Store 安装 Xcode,Xcode 完成后,启动并进入 Preferences -> Download -> Command Line Tools -> Install 安装命令行工具。
Windows 用户
对于中国大陆地区用户,可以前往 淘宝 Git for Windows 镜像 下载 git 安装包。
安装 Node.js
Node.js 为大多数平台提供了官方的 安装程序。对于中国大陆地区用户,可以前往 淘宝 Node.js 镜像 下载。
其它的安装方法:
- Windows:通过 nvs(推荐)或者nvm 安装。
- Mac:使用 Homebrew 或 MacPorts 安装。
- Linux(DEB/RPM-based):从 NodeSource 安装。
- 其它:使用相应的软件包管理器进行安装,可以参考由 Node.js 提供的 指导
对于 Mac 和 Linux 同样建议使用 nvs 或者 nvm,以避免可能会出现的权限问题。
Windows 用户
使用 Node.js 官方安装程序时,请确保勾选 Add to PATH 选项(默认已勾选)
For Mac / Linux 用户
如果在尝试安装 Hexo 的过程中出现
EACCES
权限错误,请遵循 由 npmjs 发布的指导 修复该问题。强烈建议 不要 使用 root、sudo 等方法覆盖权限
Linux
If you installed Node.js using Snap, you may need to manually run
npm install
in the target folder when initializing a blog.
安装 Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。
1 | npm install -g hexo-cli |
安装完成后可用hexo -v
查看一下版本
至此就全部安装完了。
进阶安装和使用
对于熟悉 npm 的进阶用户,可以仅局部安装 hexo
包。
1 | npm install hexo |
安装以后,可以使用以下两种方式执行 Hexo:
-
npx hexo <command>
-
将 Hexo 所在的目录下的
node_modules
添加到环境变量之中即可直接使用hexo <command>
:
1 | echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile |
Node.js 版本限制
我们强烈建议永远安装最新版本的 Hexo,以及 推荐的 Node.js 版本。
Hexo 版本 | 最低兼容 Node.js 版本 |
---|---|
5.0+ | 10.13.0 |
4.1 - 4.2 | 8.10 |
4.0 | 8.6 |
3.3 - 3.9 | 6.9 |
3.2 - 3.3 | 0.12 |
3.0 - 3.1 | 0.10 or iojs |
0.0.1 - 2.8 | 0.10 |
初始化
首先,进入一个你在本机存放Hexo Blog的路径
1 | cd /Volumes/Data/XXX //这是你的文件存放路径 |
新建完成后,指定文件夹目录下有:
1 | tree -L 1 |
接下来,生成博客文件并本机预览
1 | hexo g |
打开hexo的服务,在浏览器输入localhost:4000
就可以看到你生成的博客了。
创建仓库及添加SSH
首先,你先要拥有一个GitHub账户,没有就去注册一个吧。
注册完登录后,在GitHub.com中➕
号中看到一个New repository,新建仓库
创建一个和你用户名相同的仓库,用户名后面加上.github.io
,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是如果用户名是user,则新建的仓库名为user.github.io
,其中abcd
就是你注册GitHub的用户名。
点击Create repository
。
添加SSH到Github中
在你自己的机器中控制台中输入
1 | git config --global user.name "yourname" |
这里的yourname
输入你的GitHub用户名,youremail
输入你GitHub的提交邮箱。这样GitHub才能知道你是不是对应它的账户。
可以用以下两条,检查一下你有没有输对
1 | git config user.name |
然后创建SSH,一路回车
1 | ssh-keygen -t rsa -b 4096 -C "youremail" |
这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。
SSH,简单来讲,就是一个秘钥,其中,id_rsa
是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub
是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。
而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub
里面的信息复制进去。
在gitbash中,查看是否成功
1 | ssh -T git@github.com |
提示下面内容则为验证成功。
1 | Hi ollyhsu! You've successfully authenticated, but GitHub does not provide shell access. |
hexo部署到GitHub
这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml
,翻到最后,修改为YourgithubName
就是你的GitHub账户
1 | deploy: |
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
1 | npm install hexo-deployer-git --save |
然后
1 | hexo clean //清除之前生成的文件 |
注意deploy时如果使用HTTPS远程链接可能要你输入username和password。
得到INFO Deploy done: git
就说明部署成功了,过一会儿就可以在http://yourname.github.io
这个网站看到你的博客了!!
设置个人域名
现在你的个人网站的地址是 yourname.github.io
,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。
注册一个阿里云账户,在阿里云或者腾讯云上买一个域名,我买的是 ollyhsu.com
,各个后缀的价格不太一样,比如最广泛的.com就比较贵,看个人喜好咯。
你需要先去进行实名认证,然后在域名控制台中,看到你购买的域名。
点解析进去,添加解析。
我需要Github绑定www.ollyhsu.com
,那么我在云解析控制台里添加主机记录为www,记录类型为CNAME,记录值为 [YOUR USERNAME].github.io
。
注意,解析线路选择默认!!
登录GitHub,进入之前创建的仓库,点击settings,设置Custom domain,输入你的域名www.ollyhsu.com
然后在你的博客文件source中创建一个名为CNAME文件,不要后缀。写上你的域名。
最后,在终端中,输入
1 | hexo clean && hexo g && hexo d |
过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!
接下来你就可以正式开始写文章了。在source/_post
中打开markdown文件,就可以开始编辑了。当你写完的时候,再
1 | hexo clean && hexo g && hexo d |
之后就可以看到更新了。