blog初始版

JerryXia 发表于 , 阅读 (2)

blog初始版

一直想搭个 blog 来客服一下自己的懒, 各种百度之后, 尤其是看了这篇文章之后: 如何搭建一个独立博客——简明Github Pages与Hexo教程 , 更加坚定了我搭建一个 blog 的想法.

参考教程:

: 如何搭建一个独立博客——简明Github Pages与Hexo教程 http://cnfeat.com/2014/05/10/2014-05-11-how-to-build-a-blog/
: Github Pages 搭建网站 http://www.imooc.com/video/7633
: Githup Pages , githup page 的官方主页 https://pages.github.com/

我的尝试:

: 首先是确定了要使用 Markdown 来记事, 这样我就pass掉了很多了, 详见我在 Markdown 中的介绍
: 选择一个平台 , 或者搭建一个个人站点
: 个人站点怎么弄? 使用现有的 wordpress / ghost 还是其他方式

过去

大三的时候一直使用 csdn , 当时是因为要做 oj , 所以找了一个地方用来写 blog , 希望这样能稍微提高一些技术水平, 但是经过大四的忙碌的以后, 就没有再更新了, 现在再看看上面记录的痕迹, 都有点不堪回首了, 而且功能值强大(另一方面就是繁杂) , 也让我不想回去了.

新浪博客也用过一段时间, 但是这真的就是大众的blog , 没有想要的代码段的效果.

百度空间也用过, 简洁简单很清爽 , 但是代码段功能真心不给力, 复制以后的代码格式都变了, 全部不是你看到的样子, 差评.

之后也尝试了一下简书, 作为一个新兴的写作平台, 真的做得很好了, 但是我对 Markdown 的严格要求, 还是让我放弃了

now

于是, 我就剩下个人站点了.

尽管是搞 php 开发的, 我居然刚接触个人站点还有点小激动, 尼玛, 有可以折腾一番了. 结果 , 事实证明一个真理:

你没搞过, 就很难. 搞定了一次, 就无比简单, 简单到你认为你在做一件重复的事,

其实个人站点也是这么的简单:

: 弄一个域名. 我是在 万网 弄的, 第一年只要9块 , 弄了一个 zhilin.pub 的域名. .pub 还不能备案, 我就懒得备案了, (个人站点无所谓, 反正不影响网站的访问)
: 弄一个主机, 来放你的代码. 比如你是 php 开发人员, 那么你会在本地设置 wamp 开发环境, 所以你用来放网站的主机 , 也要有支持你网站的环境的.

开始我尝试了 baesae , 但是最后都放弃了, 说白了就是约束 , 你要按照里面的规则来部署你的网站 , 感觉需要一个学习的过程, 我尝试了一下就放弃了.

在万网申请的域名的时候 , 发现可以通过实名认证, 申请免费的云主机, 于是我就折腾了一台, 环境是 php + mysql , 只能上传下载代码, 打算作为备用机. ( 本人还在尝试使用 yii2 , 之后如果开发了 yii2 的项目 , 会尝试放在上面)

github page , 提供免费的主机 , 官方推荐使用 jekyll 来开发项目.

其实说起来, 使用 WordPress 或者 ghost 这种正儿八经的开源博客系统其实也行, 但是就是想折腾一下 , 于是就有了下面的挣扎.

jekyll + github pages

教程:

: 原版jekyll 英文文档 http://jekyllrb.com/ (建议阅读原版, 内容更全面精确)
: 将纯文本转化为静态网站和博客 http://jekyll.bootcss.com/
: 来自 github 的 帮助 https://help.github.com/articles/using-jekyll-with-pages/

开发环境 : git + vagrant + Ubuntu , 推荐大家使用 vagrant , 需要一个开发环境 , 就建一个虚拟机

安装jekyll

安装 ruby :

: 如何快速正确的安装 Ruby, Rails 运行环境 https://ruby-china.org/wiki/install_ruby_guide
: rvm使用指南 https://ruby-china.org/wiki/rvm-guide

curl -L https://get.rvm.io | bash -s stable # 下载 rvm , ruby 的版本管理工具source ~/.rvm/scripts/rvm # 启动 rvm , 重启终端也可以自动载入rvm -v # 验证是否正确安装sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db # 使用**淘宝**镜像加速rvm install 2.2.2 #安装 ruby, 可以到 [ruby的官网](https://www.ruby-lang.org/zh_cn/downloads/) , 查看 ruby 的最新稳定版本 (过程有点漫长)rvm 2.0.0 --default # 设置默认使用的 ruby 版本, 这样你就可以再同一个平台使用多个 ruby 版本,  使用 rvm 切换就行了ruby -vgem -v # 查看 ruby , gme 是否正确安装gem sources -l # 使用 **淘宝** gem 源加速gem source -r https://rubygems.org/ # 移除原有的 gem 源 , 注意你看你**显示**的地址是什么gem source -a http://ruby.taobao.org/ # 添加淘宝gem镜像源gem sources -l # 再次查看检查gem install bundler # github的帮助文档建议安装 bundler 来进行 gem 的包管理, 但是我使用不成功gem install jekyll # 还是直接使用gem安装 jekyll 算了, 这个过程十分的漫长的

还需要安装 node.js:

: 快速搭建node.js 运行环境 http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html

git clone https://github.com/cnpm/nvm.git # 下载 nvm , nodejs 的版本管理工具, 建议下载到用户目录中source ./nvm/nvm.sh # 在终端的启动配置文件中添加这一句, 是 nvm 随终端启动, 注意文件路径nvm -v # 查看 nvm 是否安装成功nvm install 0.12.4 # 可以到 [node.js](https://nodejs.org/) 查看 node.js 的最新版本node -v # 查看 node.js 是否正确安装nvm alias default 0.12.4 # 设置一个默认的 noed , 这样就不用每次都使用 nvm use xxx 来选择一个node.js版本了

终于可以使用 jekyll -v 来查看我们的环境是否已经配置好了.

jekyll 的使用:

jekyll new . #选择一个目录, 用来自动生成一个模板jekyll serve # 现在可以通过 `127.0.0.1:4000` 来访问自动生成的 blog 了

正常情况下应该使用 jekyll serve , 就可以使用 127.0.0.1:4000 访问 jekyll 自动生成的网站了, 但是我使用的 vagrant 虚拟机, 分配的局域网 ip 为 192.168.33.11 , 使用 telnet 可以 连接此ip , 但是使用 telnet 192.168.33.11 4000 却无法访问, 虚拟机中都无法访问 , 自己的 window系统当然也无法访问了. 只好转到 hexo, 这里先留下一个问题.

解决 jekyll serve 无法访问的问题

参考这个: 2台pc之间, 127.0.0.1并没什么卵用

设置 jekyll serve 开启为: 0.0.0.0:4000 即可

hexo + github pages

参考的教程:

: 如何搭建一个独立博客——简明Github Pages与Hexo教程
: hexo系列教程:(二)搭建hexo博客

需要的环境:

: git
: node.js
: hexo npm install hexo -g 按照上面介绍的安装好 node.js , 执行这个命令安装好 hexo即可

加速npm:
npm install hexo -g --registry=http://registry.npm.taobao.org 其实在上面教程链接中有提到的

hexo的使用:

: 首先当让是官网地址, 遇到的不会的可以去查, http://hexo.io/
: 如何搭建一个独立博客——简明Github Pages与Hexo教程, 再次推荐这个教程

hexo init . # 选择一个文件来, 用来作为 blog的目录 , 我这里已经建好文件夹并 cd 到这个文件夹了npm install --registry=http://registry.npm.taobao.org # 可以是上面的加速方式hexo s # 开启服务, 这样就可以再局域网中查看效果了#使用主题git clone https://github.com/wuchong/jacman.git themes/jacman # 下载主题#修改 _config.yml 文件中的 theme: jacman 来应用主题, 去官网查看更多主题# 部署应用 deployment# 修改 _config.yml 文件中的 deploy, 来设置部署到 github 中deploy:  type: git  repo: <repository url>  branch: [branch]  message: [message]npm install hexo-deployer-git --save --registry=http://registry.npm.taobao.org # 安装git deployhexo d # deploy 到 git 上, 输出用户名密码, 就可以将代码提交到版本库了

遇到一个问题: 使用 gh-pages 分支, 发现站点是无法正常访问的, css / js / 图片 等的路径都不对, 导致显示几乎等于纯文本, 不知道问题出在哪, 最后还是把站点搭在 daydaygo.github.io 这个仓库里了.

域名

弄过一次之后感觉很简单了.

我在 万网 买的域名, 第一年只要 9 rmb 的 zhilin.pub , (不能备案 , 但是不备案不影响网站访问) , 续租得几百, 先试用一年再说.

另外广告一下, 实名认证可以申请一台免费的云主机, 2年免费试用 , 环境为 php+ mysql , 只能使用 ftp 上传代码 , 可能试着玩一玩哦.

绑定域名其实也相当的简单, 使用的 万网 云解析, 每个字段怎么弄都说的很详细, 按照需求填就行了, 还是记一下步骤, 就2步:

  1. 添加一条 cname 记录, 选择指向 username.githup.io 就行了
  2. 在 /source 文件夹下新建名为 CNAME 的文件 , 填上你的域名, 这样就使用 hexo d 就可以部署到你项目的根目录了. (必须放着文件夹)

修修改改

  1. 制作网址图标
    比特虫, 制作icon图标: http://www.bitbug.net/
    替换 themes\jacman\source\img 下的 favicon.ico

  2. 使用多说

总结

前面就是一个整个建立blog的历程, 就是时间轴记笔记, 可能会把大家给看晕了, 这里好好总结一下.

域名&解析

全程使用的 万网: http://www.net.cn/
首先买了一个 zhilin.pub 的域名, 首年才 9 rmb .
之后就是域名解析了, 解析成功后, 才能通过域名访问的你绑定的服务器, 域名解析主要有一下几点:

  • ip解析, 填好服务器的 ip 就行了
  • cname 解析, 这就是 github page 使用的方式, 就你的域名和 xxx.github.io 对应起来就好了
  • 二级域名, 随便在域名前加前缀, 然后使用上面2中方式绑定就行了, 一样的原理.另外, 我绑定 github page 是立即生效的, 但是 绑定ip不是的, 大概2天时间, 一直是 电信域名纠错页, 所以配置好了之后没看到效果, 不要着急

blog环境选择

环境就这么几种:

  • 使用各大平台的blog平台, csdn / 新浪 / 百度空间
  • 使用 简书
  • 自己买服务器搭, 可以声请万网的免费云主机(免费2年, php+linux 只能 ftp 上传代码) , 或者实实在在的花 rmb
  • github page , 那么就只能使用 jekyll / hexo (目前我只知道这2 种)

作为程序员, 使用 Markdown 来写 blog 是一件很省事的事, 个人建议使用 Markdown 还是简洁点好了, 不要太花哨, 重在内容, 不是排版

github page + hexo

怎么建一个 github page ? 这个在官网就有答案, 无非2种:

  • 基于项目的项目介绍页面 (域名: username.github.io/projectname), 基于 gh-pages 分支
  • 基于个人或组织的介绍页面(域名: username.github.io) , 基于 master 分支

我遇到了一个问题, 使用 hexo , 但是在 gh-pages 上面搭的时候会找不到 css / js 等资源的路径, 导致显示异常, 最后只好使用 第二种方式了.

使用 hexo 其实很简单, 配置好 node.js 环境, 下载安装 hexo 就好了(注意使用加速)
用hexo干了写什么:

  • 安装hexo主题, 这个其实使用的git
  • 修改配置文件, 有2个, 一个是hexo的, 一个是主题的
  • 配置 deploy , 这样使用 hexo d 就可以将网站发布出去了
  • 网站需要的文件都在 /source 文件夹下, blog 在 /source/_posts 文件夹下, 我们需要做的是 在 /source 下添加一个 CNAME 文件, 这个用来绑定域名, 把我们写好的 Markdown blog 放到 _posts/ 文件夹下面

hexo常用的命令: d : deploy 源码推送到服务器, g: 生成, 有的新blog的时候需要使用这个命令; s: 开启本地测试
hexo d -g
hexo s -g

最后, 发现使用 github page 太慢了, 图片很难刷出来, 抽空要考虑一下怎么优化了.

使用 gitcafe

gitcafe pages 使用教程: https://gitcafe.com/GitCafe/Help/wiki/Pages-%E7%9B%B8%E5%85%B3%E5%B8%AE%E5%8A%A9
配置ssh: https://gitcafe.com/GitCafe/Help/wiki/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E5%92%8C%E8%AE%BE%E7%BD%AE-Git#wiki

这个地方也是醉了, 测试连接的时候不通过, 又重跑了一次, 还是不通过, 直接再测试, 又ok了.

其实真正折腾完, 也就这么点内容, 但是学习就是这样一个过程, 不多了解, 怎么知道你需要了解的是什么?