优点:
快速高效
支持 markdown
布局自定义简单, 无广告
部署简单
因为想开始写博客, 但又找不到好的博客平台, 平时都看博客园和开源中国看博客文章, 但博客园的那个皮肤是真有点难受, 所以就想自己打个博客平台用着, 然后 blog 的话还是发表到博客园, 博客园叫 姚刚, 有兴趣的关注一下, 以后会出一些关于运维和 oracle 的文章
本次环境:
个人笔记本 + centos6.9 + node.js v8.9.4 + theme(NexT.Mist v5.1.4)+ githup + gitment
因为第一次开始搭建, 主要记录一下操作步骤, 可能对原理和其他分析不太全面, 请原谅, 有不当的或错误的见解希望指正. 反正博客刚开始也没有访问量, 所以就不打算购买域名, 将个人博客部署到 githup 就好.
正文
安装 git
先安装 git 或者 node.js 都行
# 直接 yum 进行安装,
yum -y install git-core
# 初始化
git config --global user.name "yao gang"
git config --global user.email "xxx@qq.com"
安装 node.js
# 下载适合自己平台的进行解压: https://nodejs.org/zh-cn/download/
# 我装了 minimal 版, 下载 node.js 源码进行编译安装, 开始报错, 没有 gcc g++
yum -y install gcc gcc-c++ #注意是 gcc-c++ 而不是 g++
# 开始编译
./configure --prefix=/usr/local/node.js.8.9.4
# 报警告 WARNING: C++ compiler too old, need g++ 4.9.2 or clang++ 3.4 (CXX=g++)
# 升级 c++ 编译器 gcc
# 下载源码包进行编译安装 https://ftp.gnu.org/gnu/gcc/
# 我下载 4.9.2, 因为我怕版本太高其他依赖又可能出问题
wget http://gcc.skazkaforyou.com/releases/gcc-4.9.2/gcc-4.9.2.tar.gz;
tar -zxvf gcc-4.9.2.tar.gz
cd gcc-4.9.2
mkdir build
cd build
yum install gmp-devel mpfr-devel libmpc-devel
../configure --prefix=/usr
make && make install # 如果期间还出现问题, 小的可以忽略, 但需要安装成功, 否则自行百度解决
# 返回 node.js.8.9.4 目录下
./configure --prefix=/usr/local/node8.9.4
make && make install #直到安装成功
安装 hexo
# 编辑 /etc/profile (使用 vim)
vim /etc/profile
# 在底部添加 PATH 变量
export PATH=$PATH:/usr/local/node8.9.4/bin
# 保存退出, 先按 exit 键, 再按 shift+:
wq
# 最后保存并使其生效即可
source /etc/profile
# 执行命令有输出即代表安装和环境配置成功
node --version # v8.9.4
配置 hexo
# 创建目录
mkdir blog
# 切换目录
cd blog
# 安装 Hexo
npm install -g hexo-cli
# 查看
执行命令: hexo version # 有输出:
hexo-cli: 1.0.4
os: Linux 2.6.32-696.el6.x86_64 linux x64
http_parser: 2.7.0
node: 8.9.4
v8: 6.1.534.50
uv: 1.15.0
zlib: 1.2.11
ares: 1.10.1-DEV
modules: 57
nghttp2: 1.25.0
openssl: 1.0.2n
icu: 59.1
unicode: 9.0
cldr: 31.0.1
tz: 2017b
# 安装 hexo 插件
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install hexo-renderer-marked --save
npm install hexo-renderer-stylus --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
后面部署会用到 hexo-deployer-git --save, 其他的好像不安装也行, 我当时使用简单, 并没有用到.
# 初始化 Hexo
hexo init
ls # 生成 hexo 工程: _config.yml db.json node_modules package.json package-lock.json public scaffolds source themes
# _config.yml hexo 的主要配置文件
# db.json hexo 的文件存储, 以后的博客文章文件应该就是存储在这里
# node_modules node 的模块
# package.json hexo 的插件
# package-lock.json node 的相关依赖
# public 后面部署就是部署这里的文件
# scaffolds 模板文件, 可以编译下面的模板供后续使用, post,page 和 draft, 默认是 post
# source 使用 hexo 命令写作的博客页面都是在这下面, 可以手动拷贝到此路劲下指定位置
# themes hexo 的主题配置文件
这里介绍几个 hexo 命令
hexo init# 在当前路劲初始化 hexo 博客框架工程 hexo generate / hexo g# 后面是简写,
讲 hexo 的. md 博客文件通过 node.js 渲染生成静态页面 hexo deploy / hexo d# 将生成到 public 下面的静态文件部署到 xx / blog / _config.yml 指定的地方,
待会我会配置为 githup 的一个用户名仓库,
省的购买域名,
需要安装 git 部署插件 hexo server / hexo s# 启动 hexo 服务器,
访问入口 http: //localhost:4000(注意防火墙)
hexo clean# 删除上面的 db.json 数据存储文件 hexo d - g# 先生成,
接着部署到制定位置 hexo s - g# 先生成,
接着在本地启动服务器 hexo new "我的 hexo 博客文章 1"# 这就是博客的文章内容 hexo new page "测试页面 1"#hexo new page "categories"hexo new page "categories" (主要用到这 2 个页面, 当然你可以在丰富一些, 这两个页面主要是用来做博客菜单按钮的跳转页面使用的)
这部分有点杂乱, 但也是为了给新手说明一下配置文件, 也可以看官网文档 https://hexo.io/zh-cn/docs/
上面我们初始化以后, 执行 hexo s -g 会在 public 里面按默认的 post 布局生成静态的 html,CSS,js 等文件, 访问 localhost:4000, 即可看到原生最简单的 hexo 主页了. ctrol + c 关闭服务器.
到这里, 我们的 hexo 服务器已经基本完成, 是不是很简单呢? 如果你购买了域名的话, 再设置一下喜欢的主题, 就完成了.
配置 githup
由于我的博客没有人气, 所以舍不得买域名, 就把它部署到 github, 使用它的用户域名吧, 虽然在国外, 其实速度也还好啦. 你可以点击 我的博客 试试, 可能你要 FQ 才能访问
# 首先,
需要注册 github,
然后创建仓库,
仓库名需要重点注意一下: 用户名 + .github.io# 例子: 我的仓库名为: hd - yaogang.github.io 我的用户名是: hd - yaogang# 以后你的博客域名就是 xxx.github.io,
我的就是 hd - yaogang.github.io# 设置 hexo 所在服务器可以使用 git 免密 ssh 部署到 github# 在 hexo 服务器生成 rsa 免密私钥和公钥 ssh - keygen - t rsa# 一直回车即可,
然后执行命令 cat / root / .ssh / id_rsa.pub# 将输出的 ssh - rsa 到结束的一段内容,
将这段内容保存到 github
点进进入 github 仓库, 再依次点击 settings-->Deploy keys-->add deploy key, 然后随意设置 key 名字, 将 /root/.ssh/id_rsa.pub 的内容粘贴到里面, 点击保存完成即可.
部署 hexo
# 首先测试一下 git, 执行命令
mkdir git_test
cd git_test
git clone git@git@github.com:hd-yaogang/hd-yaogang.github.io.git
默认会克隆主分支 master, 虽然是空的目录, 但是也能验证 git 是否免密登录了
# 编辑 hexo 主要配置文件
[root@yg blog]# vim _config.yml # 注意你所在位置
# 找到下面, 模仿着修改一下, 注意 type 是 git, 注意: 后面 有空格, 注意配置文件的属性颜色能提示你对不对
deploy:
type: git
repo: git@github.com:hd-yaogang/hd-yaogang.github.io.git
branch: master
message: 'yg-blog 站点更新:{{now("YYYY-MM-DD HH/mm/ss")}}'
# 执行命令
hexo new "我的 hexo 测试博客 1"
hexo s -g # 访问 http://localhost:4000
# 然后部署到 git
hexo d -g # 访问 https://hd-yaogang.github.io , 已经显示博客了
配置 hexo theme
[root@yg blog]# git clone --branch v5.1.2 https://github.com/iissnan/hexo-theme-next themes/next
# 下载 next 主题, 也可以自己下载其他喜欢的, 放到 theme 下面即可, 这主题不错, 后续根据自己需要再改一些
# 启用 next 主题
[root@yg blog]# vim _config.yml # 找到 theme 编辑为: theme: next
# 重新部署
hexo d -g # 刷新 git 的博客域名, 多刷几次, 可能有点慢, 主题已经改变的很简洁.
主题的细节设置参考, 很详细了:
http://theme-next.iissnan.com/theme-settings.html
http://www.jeyzhang.com/next-theme-personal-settings.html
http://shenzekun.cn/hexo 的 next 主题个性化配置教程. html
http://michael728.github.io/2015/11/30/hexo-next-optimize/
配置 gitment
hexo 有很多评论插件, 当时也没多研究, 就直接上了 gitment, 可能看的教程简单吧, 哈哈哈, 但是他评论时候需要登录 githup, 而且刚开始部署时, 这个插件时有时无, 有时你刷一下博客评论就不见了. 样式的话还不错, 可以看我博客评论的样子 https://hd-yaogang.github.io
首先到 github 登录, 然后依次点击 --> 账户 -->settings-->Developer settings-->New Aouth App, 名字叫 Gitment ,homeURL 和 AuthorizationURL 都填写你的域名: https://hd-yaogang.github.io, 后面会生成 client ID 和 Client Secret, 需要配置到 hexo 的主题配置文件中
然后创建一个空的仓库, 名字是: gitment-comments
然后编辑主题配置文件:# 修改相应的, 其余的和空着的不用管
gitment:
enable: true
mint: true
count: true
lazy: false
cleanly: false
language: zh-Hans # 这是指定插件为中文
github_user: hd-yaogang # 这是 github 用户名
github_repo: gitment-comments # 这是空的仓库名, 用来存储评论内容
client_id: cc592528b859ff59a848 # 这是创建 app 时的 id
client_secret: 80fe54cd8f5f7d58997cc268e376e1552c7020c7 # 这是创建 app 时的秘钥
proxy_gateway:
redirect_protocol:
# 再次部署
hexo d -g
结语
由于每个人能力与想法, 环境各都不同, 所以可能嫌我写的差, 写的啰嗦, 写的不好
但是慢慢来, 希望有错误的话帮忙指出, 谢谢!
来源: https://www.cnblogs.com/xcg-yg/p/8394022.html