0成本搭建个人技术博客和个人网站

摘要:

首先送上我的个人博客先睹为快

鲁边的个人博客

说说搭建个人博客的初衷,前段时间发现自己在博客网站上的文章配图没了,感觉很不可思议,就萌生了这样的想法,但真正驱使我去行动起来的原因是,最近有一次我发表了一篇文章,结果还要审核,最后告诉我审核不通过,好吧,我换了一个博客发表,结果给我封号了,封号了,心情一时难以言表.于是愤而起身,决定亲自搭建一个博客.

下面我们看正文.

一.前言

如果时间算是成本的话,那我的标题可能起错了.

1.1.为什么要搭建博客

相比较CSDN博客园简书而言,个人博客是自由的,你的博客风格,博客模板,内容都由你自己定,还可以自己起名.这是一件很酷的事情.

再想想那满屏的广告,和你精美的文章一对比,顿时就没了兴趣,不论是你自己还是读者.

1.2.搭建博客难吗?

我以前认为搭建博客需要进行域名申请,服务器购买,网站备案,所以操作了一次,而且打算自己写个网站出来,后来我失败了.

我前端啥都不懂,让我写网站?那个时候的我肯定是哪里出了问题,这么高大上的事情还是留给更有实力的人来做吧.

就这几天我搭建博客的整个过程来看,其实搭建博客并不难,当然我还在抠官方文档,这个就另说了.

按照我个人的教程来说,搭建一个个人博客花费的时间一个小时不到就可以了.当然你是严格按照教程来做的.

不过有一点得提醒一下蠢蠢欲动的你,如果你想把博客做的好看一点的话,会花费更多的精力,当然,最多再加一小时.

二.博客采用的技术

之前我就说过博客完全是依托于GitHub pages来搭建的,不要关闭,且认真看下去.

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默认提供的域名 github.io 或者自定义域名来发布站点。

2.1.博客采用的选型

静态博客的选型主要有两种:

①GitHub 上 结合 Jekyll 搭建的博客,Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过一个转换器(如 Markdown)和我们的 Liquid 渲染器转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll 也可以运行在 GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。

②本地渲染好 HTML 后,上传到服务端,代表作品就是 hexo。

简单说,第一种方式,就是我们在本地写好 markdown 之后,直接上传到服务端,服务端会自动渲染成 HTML,然后展示给用户,第二种方案则是我们在本地写好 markdown 之后,在本地将 markdown 渲染成 HTML,然后将渲染好的 HTML 上传到服务端。(markdown 小伙伴们应该都了解吧,我就不做过多介绍了)

这里我选用的就是第二种方式,至于为啥选用第二种搭建博客的方式呢,主要原因有Jekyll技术文档是英文的,并且采用翻译全程不准确,而hexo竟然有中文文档.(我能把我看不懂英文文档的事情告诉你?)

其实主要原因是hexo轻便,访问迅速,博客模板支持也很好,而Jekyll的几个博客模板我都不是很喜欢.两者各有优劣,因人而异.

2.2.所涉及的其他技术

①git的本地部署

②Node.js的安装(安装时不要忘记添加环境变量)

③阅读中文的能力

注意git的安装和Node的安装网上都有教程,本身安装也基本上都是下一步的操作.有出现问题的可以联系我,这里就不多说了.

在cmd中,测试有版本号则安装成功

三.开始搭建博客

3.1.安装Hexo

[Hexo官方文档](https://hexo.io/zh-cn/docs/)

cmd命令行输入安装命令:

npm install -g hexo-cli

安装成功后,在Hexo安装的本地新建一个文件夹,这个文件夹就是你的博客根目录

我是直接在电脑E盘下面进行安装的,所以我在E盘下新建一个文件夹lubians

3.2开始搭建网站

进入刚才新建的文件夹lubians,启动命令行工具cmd

输入下面的命令初始化当前文件夹

hexo init blog

接下来再输入以下命令安装相关的依赖

npm install

安装完成后这时你的文件夹目录大概是下面这个样子:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

我的文件夹图样

以上的文件和文件夹中,我们来重点关注两个, _config.yml 文件和 themes 文件夹

_config.yml 文件中,我们可以做网站的一些基本配置,例如网站的 title,描述,关键字、图标等,这些配置大都见名知意。如下:

# Site
title: 鲁边
subtitle: 昨天,今天,明天
description: 本站是鲁边的技术分享博客。
keywords: Hadoop,Hadoop生态圈,Java
author: lubians
email: [email protected]
language: zh-Hans
timezone: Asia/Shanghai

配置完成后,在lubians文件夹下启动cmd命令行工具,输入:

hexo ghexo s

就已经启动项目了

这里的hexo g 就类似于打包编译的过程,生成静态的HTML文件,hexo s 则是启动服务的意思.

在浏览器中输入http://localhost:4000 就可以看到网站了,博客效果:

说一下hexo里面的几个命令

命令 简写 中文含义
hexo server hexo s 本地启动
hexo generate hexo g 生成静态文件
hexo deploy hexo d 部署网站
hexo clean 清除缓存和已经生成的静态文件

这四个是最常用的,其他相关命令可以参考Hexo文档,基本上用不到.

四.自定义主题

到这里我们的博客搭建已经告一段落了,但是呢,有人就问了,我的博客界面怎么和刚才的页面展示不一样.这就涉及到自定义主题和上面我们说要关注的另一个文件目录 themes 有关了.

4.1主题

Hexo生态是比较丰富的,有很多可供选择的主题,上面展示的界面是默认的主题landscape,我使用的主题是shenyu的作用Ayer,GitHub地址:

https://github.com/Shen-Yu/hexo-theme-ayer.git
这里再提供两个主题供大家参考
https://github.com/litten/hexo-theme-yilia.git
https://github.com/iissnan/hexo-theme-next.git

4.2配置

首先进入到themes目录下,这个目录里原本就有一个landscape文件夹,放的是默认的主题.

这里就需要在GitHub上克隆你喜欢的主题到themes目录下,当然也可以直接将主题文件下载后拷贝进来.直接在后台回复 [Ayer] 获取主题文件.

以我使用的主题为例,在themes下启动cmd命令行,输入clone命令:

git clone https://github.com/Shen-Yu/hexo-theme-ayer.git

克隆成功后,修改lubians的 _config.yml文件,将主题修改为 Ayer(注意冒号后有空格),如下:

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: Ayer

注意这里有两个_config.yml文件,一个是最外层文件夹下的_config.yml,还有一个是主题文件里的_config.yml.

其中外层_config.yml文件里是我们对整个博客的配置,主题文件里的_config.yml是对主题的一些相关配置,要区分开.

4.3打包启动

主题创建好之后,接下来就是对主题的配置了,这个比较容易,直接参考官方文档即可。

配置完成后,执行如下命令,即可看到新的主题效果:

在lubians文件夹下启动cmd命令行输入:

hexo clean
hexo g
hexo s

五.发布到GitHub上

最后一步

5.1创建GitHub仓库

以 自己的GitHub ID.github.io 为名创建一个 public 仓库,例如我的 ID 为 lubians,创建的仓库如下:

这里一定注意仓库名字前缀是需要和Owner一致,我的Owner是lubians,那么我的仓库名为lubians.github.io .新建成功后,修改lubians文件夹下的_config.yml 文件,配置刚才创建的GitHub仓库地址,如下,将deploy修改为:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: [email protected]:lubians/lubians.github.io.git
  branch: master

5.2发布

接下来使用Git bash来进行命令的执行,在lubians文件夹中右键,点击Git bash选项进入Git命令行,执行命令:

npm install hexo-deployer-git --save

最后在同文件夹下使用cmd命令行输入命令来发布:

hexo clean
hexo g
hexo d

执行完成后,你的数据就已经上传到Github了,接下来直接访问

个人博客地址

就可以看到自己的个人站点了,记住把链接里的lubians换成你自己的github设置的仓库名.

以上就完成了整个个人博客的搭建.

六.搭建个人博客遇到的问题

还没完呢,可以先搭建,之后遇到问题,再来这里看看有没有同样的问题

6.1.没有git环境和Node.js环境

我因为新入手的一台笔记本,没有相关环境,整个过程需要重新配置,记住一点,安装以上两个环境的时候都可以按照官方文档来,但是一定安装完成后配置环境变量,如果环境变量不会配,那我就没办法了,百度吧

6.2页面太简陋,不好看

我是个追求 审美的人,哈哈,再抠了一整天的Hexo的中文文档后,搭建了个人博客,发现贼丑,然后就在网上各种寻找模板,最后使用Ayer主题,主题的使用方式上面已经说过了.

更多主题配置请参阅

Hexo官方主题文档

6.3.模板引入搜索功能

这里需要使用命令下载安装一个搜索插件,在lubians文件夹中启用cmd命令行,输入:

npm install hexo-generator-search

然后在_config.yml配置文件中配置:

search:
  path: search.xml
  field: post
  format: html

还有一个网站用户订阅功能,提高自己的博客影响力嘛,同样,下载安装

npm install hexo-generator-feed

_config.yml中配置

feed:
    type: atom
    path: atom.xml
    limit: 100

6.4引入博客的评论功能

我的评论使用的是:Valine,Valine是一款快速、简洁且高效的无后端评论系统.

注意启用Valine必须先创建leancloud应用.

leancloud地址

按步骤操作即可,获取 id 和 key.

填入Ayer主题中的_config.yml配置文件(注意是另一个配置文件)中,位置如下:

# 1、Valine[一款快速、简洁且高效的无后端评论系统](https://github.com/xCss/Valine)
# 启用Valine必须先创建leancloud应用, 获取 id|key 填入即可
leancloud:
  enable: true
  app_id: ''
  app_key: ''

6.5图片链接问题

这个是最坑的,因为发表文章都是用Markdown来写的,图片是以链接的形式引入的,我主要使用Typora笔记来写,这样图片就不知道存到哪里了,微信公众号发表文章的图片无法引入,简书,博客园都不行,所以需要使用图床工具.

综合下来,我使用的图床工具是

SM.MS

单次上传文件不超过10个,每个不大于5MB,有5G的免费使用空间,操作便捷,建议使用.

七.废话

以上博客搭建流程就彻底完结了,还是之前的那句话,欢迎大家订阅和友链.

突然想起李宗盛的一首歌里的一句歌词,想说却还没说的还很多.

这会却不知道从何说起了,我的个人博客里还比较空,这段时间我会逐渐把握在其他平台发表的博客和自己以前整理的笔记逐渐全部放到上面去.

给各位小伙伴说句话吧,希望你能在我这里学到点什么,而我也能因为你的回馈,让我学到更多.

有问题的话,欢迎在个人公众号下方点击 [联系我] ,会有我的个人微信二维码,扫码加我微信,我们共同交流,共同进步.

公众号后台回复 [博客源码] ,获取我的个人博客源码,进行参照搭建.

我是鲁边,2020 peace and love.

按例,我的个人公众号:鲁边社,欢迎关注

原文地址:https://www.cnblogs.com/lubians/p/12181619.html

时间: 2024-10-11 13:52:32

0成本搭建个人技术博客和个人网站的相关文章

国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)

在2013-07-15 整理了一份国内各大互联网公司相关技术站点2.0版 (集合腾讯.阿里.百度.搜狐.新浪.360等共49个) 近日重新整理了一番,希望能对大家有所帮助 2013年 腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系列(2)   其他(9) 2016年 腾讯系列(9)  阿里系列(5)  百度系列(6)  搜狐系列(1)  新浪系列(1)  360系列(2)   其他(3) 新增 网易(2) 腾讯系列(9) 1.财付通设计中心

个人技术博客的选择:CSDN、博客园、简书、知乎专栏还是Github Page?(转)

个人技术博客的选择:CSDN.博客园.简书.知乎专栏还是Github Page? 有很多技术人员在学习到一定程度后发现了写博客的重要性,一方面帮助自己记忆,一方面也能帮助他人解决问题,于是会选择自己开始写博客,之后又发现平台太多不知从何下手,在这里我根据自己写博客的经验比较一下各个平台的优缺点. 这里主要对比CSDN.博客园.简书.知乎专栏.Github Page.个人建站和其他 CSDN 笔者是CSDN的长期用户,也见到了很多不错的CSDN博客 优点 SEO做得好,无论是百度还是google(

手把手教你建github技术博客by hexo

适合人群 喜欢写Blog的人 有一定的编程基础 爱折腾的人 熟练使用版本控制Git 了解使用Github 熟悉基本的MarkDown语法 环境准备 安装Git 下载 msysgit 并执行即可完成安装. 安装Node.js 在 Windows 环境下安装 Node.js 非常简单,仅须下载安装文件并执行即可完成安装. 安装hexo 利用 npm 命令即可安装.(在任意位置点击鼠标右键,选择Git bash) npm install -g hexo 问题 * npm ERR! registry e

价值博客们,技术博客

www.raychase.net http://mindhacks.cn 程序员博客墙blogwall.us http://www.cppblog.com/vczh MacTalk-池建强的随想录 Fenng DBA Notes | 闲思录robbin的自言自语风雪之隅-Laruence的博客 blog.vgod.tw 张琮翔的Blog:愛好電腦.科技.程式設計,目前在MIT電腦科學與人工智慧實驗室就讀博士班,尋找人機互動與程式設計交會的創新火花. MIT CSAIL的PhD,现在毕业开始创业了

一步步搭建自己的博客 .NET版(3、注册登录功能)

前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做个插件,任何网站上的技术文章都可以转发收藏 到本博客. 所以打算写个系类:<一步步搭建自己的博客> 一.一步步搭建自己的博客  .NET版(1.页面布局.blog迁移.数据加载) 二.一步步搭建自己的博客  .NET版(2.评论功能) 三.一步步搭建自己的博客  .NET版(3.注册登录功能) 四

[福大软工] Z班——个人技术博客评分

个人技术博客 作业地址 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070 作业要求 个人技术博客单次作业满分为10分,博客的形式与内容不做任何限制,但要在博客中说明博客所介绍的技术与团队项目的关系.第一次个人技术博客的截止日期会定在团队阿尔法阶段结束时(初步设定了截止日期,之后会根据团队项目整体的进度调整). 注意:技术博客是个人作业,需要每位同学独立完成. 评分准则 本次技术博客的分数由两部分组成,

用Halo在自己服务器搭建一个个人博客

本文主要讲解一下如何从零基础到搭建出一个个人的博客 在讲解之前,我先说明一下相关的东西. 1.Halo简介 Halo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择. Halo [?he?lo?],意为光环.当然,你也可以当成拼音读(哈喽). 轻快,简洁,功能强大,使用 Java 开发的博客系统. 2.Linux服务器安装 本教程以Centos7为例,配置并运行 Halo,其他 Linux 发行版大同小异. 2.1.写在前面 具备一定的 Linux 基础. 如需域名绑定,请先保证已

开始真正的技术博客之旅

想自己做个东西,小公司企业管理软件,借此地记录开发过程 操作系统:windows8.1 框架:struts2           版本struts-2.3.16.3 Hibernate4      版本hibernate-release-4.3.5.Final Spring            版本spring-framework-3.2.10 数据库:mysql          版本mysql-5.6.14 开发语言:Java         版本jdk-7u67-windows-x64

搭建自己的博客教程,linux mysql wordpress

序:搭建自己的博客教程哦~~听上去就蛮激动人心的. 一.准备 域名:阿里云域名 www.yaochuancun.me 阿里云server ubuntu 14.04 ip地址:120.24.55.63 php 5.2.4 或更新版本 Mysql 5.0或更新版本 Apache mod rewrite模块(可选,用于支持“固定链接”和“站点网络”功能) 关于域名备案的问题,跟域名没有关系,跟服务器主机有关系,国内的主机都需要备案才能开启443 80端口,不备案的话80 443等一些常用端口就用不了.