实现在CentOS7环境下搭建个人github博客

主机要求:必须是centos环境版本可以不一样,假如你用的是其他版本的linux系统,只不过是命令不太一样。
Tips:这里提前说下,对于Ubuntu来说,以下类似操作必须要用户家目录中,这样你才能够给权限,自其它目录中,还没有办法给hexo或者git读写权限的。

这里首先提供三个链接地址,当你创建完成博客后,对一个很low的界面会抱怨的,作为一个视觉党,这简直是不能忍受的,所以这里推荐一个有着超级详细的教程的主题,里面有详细的设置。后面的设置都是和主题有关的,小编在这里只是写出来怎么搭建博客,和怎么上传到github上。

hexo的官方地址: https://hexo.io/
github的官方地址:https://github.com/
github-theme-next主题界面https://github.com/iissnan/hexo-theme-next

mkdir /app/blog
# 创建一个单独属于blog的文件夹,名字自己随便
cd /app/blog
wget  https://nodejs.org/dist/v6.11.1/node-v6.11.1-linux-x64.tar.xz
# 从网上下载最新班的node.js软件,这个是必须的环境
tar Jxvf node-v6.11.1-linux-x64.tar.xz
# 解压`node-v6.11.1-linux-x64.tar.xz`文件
mv node-v6.11.1-linux-x64 node
# 修改一下名字名字太长写的麻烦

修改全局变量,加入全局变量文件中

vim /etc/profile
export PATH=$PATH:/app/blog/node/bin
# 这个随便添加到哪里都行,一般我都加到最后
source /etc/profile
# 重新加载环境配置文件
# 创建目录
mkdir hexo
# 切换目录
cd hexo

安装Git(已安装可跳过)

yum install git-core

安装 Hexo

npm install -g hexo-cli
初始化 Hexo
hexo init 初始化安装

假如错误的话,这里提供解决方案

npm install
hexo init(不过这里会提示你文件夹不是空的,所以你需要把原来的文件夹删除,重新创建)

启动hexo

[root@VinnyWang testgithub.io]# hexo server
INFO  Start processing
INFO  Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

这里我们不关闭终端,我们直接点击打开链接,一个你将来的博客界面就会出现了,假如失败的话,重头来,最简单的办法,要不然就排错,错误很多,这里就不一一写出来了。

到了这里,我们就是把环境搭建成功了,到时候吧本地的升值同步到github上就好了。但是这里我们先不需要着急,我们刚才生成的只不过是hexo为我们提供的模板网页,里边还是会有很多信息需要修改的,下面我们进入配置文件进行修改,最主要我们修改的地方有两个地方,一个是开头一个是结尾。

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site     # 站点信息
title: Hexo   # 标题
subtitle:   # 副标题
description:  # 站点描述,这个地方会被搜索引擎收录
author: John Doe   #  作者,可以把John Doe改成自己
language:     # 语言类型,看你选择什么主题,里面会有设置的,一般情况下写   zh-CN
timezone:   # 时区  有的主题文件会有需要的

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com  # 网址
root: /  # 根目录,这个地方在你准备同步到网上时候,修改成你的库名字,比如我的是vinnywang.github.io就写这个名字
permalink: :year/:month/:day/:title/ # 文章的链接格式
permalink_defaults: # 默认链接

# Directory
source_dir: source # 源文件生成目录
public_dir: public # 生成网页文件目录
tag_dir: tags # 标签目录
archive_dir: archives # 存档目录
category_dir: categories # 分类目录
code_dir: downloads/code 
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts # 新标题
default_layout: post # 默认的模板post、page、photo、draft(文章、页面、照片、草稿)
titlecase: false # Transform title into titlecase # 标题是否转换为大写
external_link: true # Open external links in new tab # 新的tab打开页面
filename_case: 0 
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight: # 语法高亮
  enable: true # 是否启用
  line_number: true # 显示行号
  auto_detect: false 
  tab_replace:
  
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ''
  per_page: 10
  order_by: -date
  
# Category & Tag # 分类标签
default_category: uncategorized # 默认
category_map:
tag_map:
# Archives
2: 开启分页
1: 禁用分页
0: 全部禁用
archive: 2
category: 2
tag: 2

# Date / Time format  # 日期时间格式
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD # 默认设置的格式
time_format: HH:mm:ss 

# Pagination # 分页
## Set per_page to 0 to disable pagination
per_page: 10 # 每页为10篇文章
pagination_dir: page 

# Extensions # 扩展插件
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape # 主题 装机完成之后,默认为landscape

# Deployment # 开发后面部署到github上时会使用到,不要填错了
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type:  git
  repo:git@github.com:mocorochio/micorochio.github.io.git # 这个是填你自己生成的库的链接地址
  branch: master
  message: '站点更新:{{now("YYYY-MM-DD HH/mm/ss")} 

上面的repo可能会有很多人不知道怎么填写,这里给个地址,是红色箭头所指的网址。

image
image
[root@VinnyWang testgithub.io]# git config --global user.email "20843205@qq.com" 

输入你的email账号,和你注册时候的email相同,不要填错了

[root@VinnyWang testgithub.io]# git config --global user.name "vinnywan"

这里填上你的用户名,和你注册时候的一样哦

[root@VinnyWang testgithub.io]# less  ~/.ssh/id_rsa.pub
/root/.ssh/id_rsa.pub: No such file or directory

这个地方是检查你有没有key文件,有的话略过下边的操作。

[root@VinnyWang testgithub.io]# ssh-keygen -t rsa -C 20843205@qq.com

这个操作是生成key文件,假如你们有的话,需要生成,一路回车就好了。

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
64:a7:2d:64:97:a9:27:51:9d:22:c1:07:a8:74:8d:ac 20843205@qq.com
The key's randomart image is:
+--[ RSA 2048]----+
|     . =oo.. .        |
|    . = +.ooo         |
|   . +  *o=.          |
|    E  = B            |
|        S o           |
|         +            |
|                      |
|                      |
|                      |
+-----------------+
vim /root/.ssh/id_rsa.pub

然后把这个文件上的全部复制出来,等下有用。
现在我们本地的环境已经搭建完成了,但是我们还没有同步到网上,所以这个地方我们需要创建一个github账号,最上面提供的有github的官方网址,点击进去就好了。
创建用户账户就不用我教了吧,按照提示一步一步做下去就好了。但是这里先提前说下,不要乱填,用户名不要起的太奇葩,后面还要用到。这里只是给提供一些创建账号之后的步骤。但你登录github账号之后是这个样子的。

登陆之后界面
登陆之后界面

我们点击 start a project之后会弹出这个界面

创建库
创建库

这个上面我用红色箭头指出来的千万不要乱写,格式是:用户名.github.io写完之后,直接点击最下面的 create repository
创建完成库了,我们需要吧本地的文件同步到github上,但是同步的话,怎么认证呢?这个时候就需要用到,我们之前生成的key文件了。

image
image

按照顺序点击,反正也点不错。之后还有一个界面。

image
image

按照顺序填写,记得一定要选择sshkey不要用另外一个。把我们上面生成的key里面的内容复制到中间的空白处,随便给个名字就好了。

好了上面的我们做完了,现在就需要将本地和网络上同步起来

git init 
git add . # 将本地文件添加到缓冲区中
git commit -m "提交文件" # 给想要提交的动作一个名字 引号内部内容随便
git remote add origin https://github.com/vinnywan.github.io
指明你远程的库是什么
git push -u origin master
将缓冲区添加的文件同步到库中,速度看网速了。

这个时候可能会出现一些问题,所以这里提供了两个解决的办法
1.使用强制push的方法:

git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来

git pull origin master
git push -u origin maste

这里给些常用的命令:

git add *#跟踪新文件
git rm -f * #强制删除所有文件
git commit#提交更新
git commit -m "注释文本"    #添加注释
git commit -a   #跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交
git commit --amend  #修改最后一次提交
git push origin "resposbilty"
hexo g # 部署
hexo d # 提交
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容