建站前的一些唠叨
个生活的瞬间,总想着把自己的所想所感,所悟、所得记录下,哪怕是零星的,粗糙的,鄙俗的,都是自己对生活真相的一次次靠近的证明,于是催生了做个自己的博客的想法,2015年的使用了WordPress技术做了一个博客,自己买了云服务器,域名,终于有了自己的个人网站,后来服务器到期前的那段时间,正赶上项目上线,没有来得及迁移,就被付之一炬。
前天seazhang童鞋发来几个建站教程,又一次萌生了开博客的想法,说干就干,栽种一棵树最好的时间是十年前或现在。于是乎,今年又开始了新的征程,活着,就要学习,2005 年乔布斯在斯坦福的演讲中说到“stay hungry stay foolish”,对世界怀有敬畏,好奇之心,才能保持自己活的永远年轻,永远热泪盈眶。
建站准备
我自己建站的环境是Mac环境,下面主要以Mac环境为准:
环境:
- Mac电脑,联网状态
- Git 、Node.js(npm)
- GitHub账号
安装
- node.js用来创建hexo博客框架的用的依赖,我安装的是node-v8.11.3;
- Git环境,你可以安装客户端或者 用Homebrew 安装git,关于Homebrew的安装不在本教程讨论之内,大家自行搜索。
安装hexo
利用npm命令就可以安装hexo如果自己npm下载出错 可以用国内的一些网站镜像代替
比如淘宝 NPM 镜像 可以参考这篇文档 国内优秀npm镜像推荐及使用
1 | npm install -g hexo |
如果 遇到权限报错 可以 在前面加上 “sudo” 这个时候 会让你输入电脑密码获得权限,以下所有的指令,如果遇到问题都可以在前面加上“sudo” 尝试解决。
初始化
安装完毕,选择本地你要建站的文件夹,我的是 “/Users/hoolai/jsroads/myblog”,然后打开控制台执行命令,hexo 会初始化网站所需的文件。
1 | hexo init |
接着安装 npm 依赖包
1 | npm install |
上面的一切就绪之后,就可以开始本地测试一下了。关于hexo 指令可以参考 hexo指令 运行生成静态文件的指令
“hexo generate” 你也可以使用 “hexo g”代替
1 | hexo generate |
编译成功后 继续输入 “hexo server” 部署网站 可以用“hexo s” 代替
1 | hexo server |
此时 可以用浏览器访问 http://localhost:4000
,查看一下默认的效果 此时网站还是只能本地看到,默认主题是landscape。
部署到GitHub上
首先你要有一个GitHub账号,这个很简单,如果没有,去注册一个就好。
创建一个repository
repository 相当于一个仓库,用来放置自己的网站的文件,登录进 GitHub 页面 选择 repositories 然后 创建一个新的 repository 这个时候很简单,写一个Repository 名字,名字格式是重点 必须是 yourname.github.io 比如 tom.github.io 我的是 asroads.github.io。
发布网站到GitHub远程
此时需要修改一下本地(/Users/hoolai/jsroads/myblog)的一个“_config.yml”记得一点 hexo 配置中 任何“:”后面都是带空格的。
1 | deploy: |
如果你是第一次使用GitHub部署,还需要配置 SSH文件,另外如果已经配置了,或者多个账号用一台机器需要另行处理。以后这个详谈。首先我们需要检查一下本地有没有 SSH keys 。
1 | ssh-keygen -t rsa -C "asroads@163.com" |
在Git Bash输入以下指令(任意位置点击鼠标右键),检查是否已经存在了SSH keys。
1 | ls -al ~/.ssh |
如果已经存在或者正常生成了,用指令添加
1 | eval `ssh-agent -s` |
到了这里基本就搞定了,这个时候需要复制 key 到 github 上面 测试一下 输入以下指令
1 | ssh -T git@github.com |
这个时候 会看到输出警告,输入 “yes”
接下来需要我们配置一下 ‘~/.ssh/id_rsa.pub’ 里面的内容到GitHub上面
- 我们先去用户下找到这个文件,用文本编辑器打开,复制内容
- 打开GitHub网站,登录自己的账号 打开”settings“ — ”SSH and GPG keys” 然后添加一个“SSH keys”
此时 还需要安装 一个 hexo-deployer-git
1 | npm install hexo-deployer-git --save |
做完上面这些就表示已经搞定了。执行下面的命令,部署到github 上面吧
1 | hexo generate |
最后打开你的网站博客查看效果吧。我的是 blog.asroads.com 。
2021-09-18 更新
出现ERROR Deployer not found: git的问题
参照网上的方式:
- deploy的type 的github需要改成git
- npm install hexo-deployer-git –save
1 | sudo npm install hexo-deployer-git –save |
解决问题。
后记
在成功发布之后,禁不住内心一点小小的喜悦,学习过程中间经历了各种挫折、问题、报错、沮丧,经过辗转各大论坛终于得以解决,以后有空了,会慢慢的把自己所学所感写写出来。
十多年前(2007)入行的时候,回忆起学校老师在课堂上曾说,做技术的人,要有一个自己的门面(技术博客),这个是自己的一份“自我经营”,先后在新浪、网易博客、CSDN开了博客,由于后期的工作繁忙,奔波,懒散懈怠,大都虎头蛇尾,偶尔去打开想写点什么的时候,总感觉自己学的知识过于零碎,繁琐,整理起来过于麻烦,很多问题网上已经很多人都给出最好的答案,图文并茂的解答。再去造几个轮子,显得冗余了些。这篇文章也参考了网上许多优秀人的博客和解答,在此,衷心的谢谢他们,好人一生平安!
不错的主题
https://github.com/kb1000fx/hexo-theme-meadow
https://github.com/blinkfox/hexo-theme-matery