引言

###     之前用阿里云弹性web托管采用wordpress搭建的个人博客,经过我使用一段时间之后发现存在很多问题:
- 网站的响应速度非常慢,估计打开主页需要3-4s的时间,我经过搜索发现很多人都有这样的问题,所以应该不是wordpress的锅,而是阿里云弹性web托管的问题,毕竟我买的时候一年只要几百块,而且还是最便宜的经济版(内存128M+2G网页空间+4G流量+1G数据库)。其实我后来才知道弹性web托管是一个啥玩意
,和虚拟机差不多,性能非常有限。可惜我当时不知道啊,否则应该买云虚拟主机独享版的,虽然贵一点,但是应该会流畅很多。
- 我最开始买的是经济版,因为访问速度慢的原因,我昨天打算把它升级成高级版(256M内存+4G网页空间+2G数据库)。我花了不到20块钱买了试用升级两个月。但是最坑爹的事情发生了,我在升级了之后,原来
的网站打开速度并没有提升多少(至少我没感觉到),而且出现了一系列的问题,最后我连后台都进不去了,
一直提示我500内部错误。我搜索了半天也没找到解决办法。而且我用filezilla也一直连不上ftp(我确认账号和密码都是对的,升级之前一直可以登录),这样我根本没法检查wordpress到底哪里出现问题
了。于是我陷入了只能浏览我的博客,但是却无法登录后台的尴尬境地。
- 尝试了半天我也没有解决这个问题。最后想了一下,反正我的web弹性托管再过一个多月也就到期了,算
了,干脆不续费了。重新找个其他的办法搭博客吧。这里额外说一句,之前一直是在博客园写博客的,其实
还是很不错的,我一直是用的markdown写的,感觉博客园的markdown解析速度挺快,而且网页打开也很快。虽然如此,但是我还是想搭一个自己的博客(毕竟可以自己的地盘自己做主嘛)。想到了之前好像看过
可以用github免费搭建静态网页的博客。于是我就查资料开工了。事实证明,用github搭建博客稍微有点麻烦,但是对于一般的程序员应该花几个小时就搞好了,我自己大概花了不到三个小时吧。

1. 搭建过程

####     因为网上已经有很多介绍怎么用github搭建博客的教程了,其中不乏一些非常详细优秀的教程,所以这里我就不从头详细描述一遍了。只是简单走下流程,贴一些有用的资料和遇到的坑。(注:我的本机系统是Ubuntu 16.04,好像windows系统搭建过程略有差别,如果你是windows系统,请搜索其他安装教程)。
###     1.1 我参考的资料。
- [在github上搭建hexo个人博客(Linux-Ubuntu)](https://www.jianshu.com/p/f2285d63b3a8)
- [我是如何利用Github Pages搭建起我的博客,细数一路的坑](https://cczeng.github.io/2017/05/03/git/%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%A9%E7%94%A8Github-Pages%E6%90%AD%E5%BB%BA%E8%B5%B7%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2%E2%80%94%E2%80%94%E7%BB%86%E6%95%B0%E4%B8%80%E8%B7%AF%E7%9A%84%E5%9D%91/)
- [hexo推荐主题yilia](https://github.com/litten/hexo-theme-yilia)
####     推荐按照[我是如何利用Github Pages搭建起我的博客,细数一路的坑](https://cczeng.github.io/2017/05/03/git/%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%A9%E7%94%A8Github-Pages%E6%90%AD%E5%BB%BA%E8%B5%B7%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2%E2%80%94%E2%80%94%E7%BB%86%E6%95%B0%E4%B8%80%E8%B7%AF%E7%9A%84%E5%9D%91/)这篇教程进行安装,因为作者写的比较详细,如果遇到一些问题,可以自行搜索解决或者参考其他教程。
###     1.2 我遇到的一些坑。
- 前面安装nvm,node.js应该没有太多的问题。我遇到的主要问题集中在将本地的hexo产生的文件同步到github以及后面hexo yilia主题配置的问题。hexo主要有`hexo init`,`hexo g`,`hexo s`,`hexo d`,`hexo clean`,`hexo new`等命令,分别表示`初始化`,`生成静态文件`,`开启本地服务器,在浏览器预览`,`将本地文件同步到关联的github repo`,`清空缓存`,`产生新文章`。注意在配置好hexo以及关联好github repo之后,最好每次执行`hexo g`,`hexo d`之前先执行一下`hexo clean`清空一下缓存,否则可能你输入博客的网址无法查看到你修改之后的页面。比如我当时弄了半天都没法正常查看我的博客主页,一直提示404,找不到github pages。不过我后来关闭了一下浏览器,执行了一下`hexo clean`就可以正常查看了。所以你如果遇到问题,不妨关闭浏览器重新打开,或者多刷新几次,说不定就好了。
- yilia的配置。这个其实可以查看yilia的官方github,讲的比较详细。其实最主要就是装好了yilia之后,修改hexo的全局`_config.yml`配置文件以及`themes/yilia/_config.yml`文件。至于配置参数怎么写,yilia的[官方配置文件](https://github.com/litten/hexo-theme-yilia)都给你写好了,照葫芦画瓢改成你自己的就可以了。但是特别需要注意的是!!!:这里有两个`_config.yml`文件,一个是hexo全局的,还有一个是yilia的,一定要区分清楚!在全局配置文件里,你只需要加上下面的配置条件:
```
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true
```
- 而在yilia的配置文件里,你才需要按照yilia官方文档那样修改yilia主题的配置参数。想我当时就是不小心把yilia的配置命令写到全局`_config.yml`文件里了,搞了半天主题一直都不变,最后才发现写错文件了,真的是。。。。另外还有一个问题是如果你使用`hexo s`在本地浏览器预览,可能会发现图像url没法正常解析(图像无法显示)以及图标中文乱码的情况(我自己碰到了),所以如果你也碰到了一样的问题,直接去打开你的博客主页浏览应该就好了。(原因不详)
- 最后知乎上还有一篇文章[手把手教你建github技术博客by hexo](https://zhuanlan.zhihu.com/p/22183337)写的还是不错的,有些详细的yilia配置细节可以参考下,比如yilia博文添加多个tags是`[tag1,tag2]`这样的形式而不是`tag1,tag2`等等。

2. 成果展示

我的github博客主页是[Lyrichu's Blog](https://lyrichu.github.io/),原来的wordpress搭建的[博客](http://www.movieb2b.com)后面估计不会维护了。以后主要在[博客园](https://www.cnblogs.com/lyrichu)和github博客写文章了。

github+hexo搭建博客的更多相关文章

  1. 使用github+hexo搭建博客笔记

    听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...

  2. Github + Hexo 搭建博客

    服务加速 brew 加速 http://blog.suconghou.cn/post/homebrew-speedup/ github加速 http://www.selfrebuild.net/201 ...

  3. 手把手教 GitHub + Hexo 搭建博客

    前言 在很久以前,博主就想着要有自主的博客专栏或者网站.经历了博客园这个需要所谓的编辑审核,一直比较困惑,这些编辑是什么出身,怎么知道技术博客的价值性. 接下来找到了开源中国,这个可以自由发言的地方. ...

  4. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  7. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  8. 可能是最详细的 Hexo + GitHub Pages 搭建博客的教程

    前言:博主目前大三,Web 前端爱好者.写博客的好处,不是为了写而写,而是一个记录思想的过程.不要考虑它能带给你什么,而是你自己从中收获了什么. 最近刚好有空,于是就参照网上的各种教程,搭建了一个博客 ...

  9. 基于Hexo搭建博客并部署到Github Pages

    基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...

随机推荐

  1. [vue]js模块导入导出export default

    webstrom调试未授权问题解决 分es6语法和node语法 参考 参考 - export default s1 1.仅能出现1次default 2.导入时候可以随便命名 3,导出时候不必写{} - ...

  2. 随机模拟MCMC和Gibbs Sampling

    随机模拟 统计模拟中有一个重要的问题就是给定一个概率分布 p(x),我们如何在计算机中生成它的样本.一般而言均匀分布 Uniform(0,1)的样本是相对容易生成的. 通过线性同余发生器可以生成伪随机 ...

  3. [LeetCode] 443. String Compression_Easy tag:String

    Given an array of characters, compress it in-place. The length after compression must always be smal ...

  4. ajax课1 源码

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. redis error It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING

    应用redis出现如下错误 It was not possible to connect to the redis server(s); to create a disconnected multip ...

  6. hexo修改Next主题的样式

    Next主题默认对超链接只有下划线样式,很容易被忽略,就想着怎么修改下 主题样式是在\hexoBlog\themes\next\source\css,这里面保存了Muse,Mist和Pisces三个主 ...

  7. <<Joint Deep Modeling of Users and Items Using Reviews for Recommendation>> 评论打分预测

    综述: 本文将 CNN 与 FM(Factorization Machine) 结合,基于评论文本来进行评分预测. 简介: 目前将神经网络应用推荐系统的研究工作中,有一类思路是把如CNN等神经网络作为 ...

  8. 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版(转)

    [译]在Asp.Net中操作PDF - iTextSharp - 利用列进行排版   在使用iTextSharp通过ASP.Net生成PDF的系列文章中,前面的文章已经讲述了iTextSharp所涵盖 ...

  9. Azkaban 简介

    本文简单介绍一下Azkaban及其特点.azkaban是一个开源的任务调度系统,用于负责任务的调度运行(如数据仓库调度),用以替代linux中的crontab. 一.Azkaban是什么? 1.1 A ...

  10. Linux服务器---关闭selinux

    关闭selinux 1.通过命令“getenforce”获取selinux状态, [root@localhost ~]# getenforce Enforcing        //enforcein ...