搭建个人博客
个人网站用处有很多,可以写博客来记录学习过程中的各种事,不管是新知识还是踩坑记录,写完就丢在网站上,方便日后复习,也可以共享给他人,让其他人避免踩雷。
当然也不仅限于技术性的文章,生活中有什么感想,都可以记录在博客中,记录一次出行、聊一聊美好的爱情,统统不在话下。
个人感觉,搭建个人网站还有一个不错的好处,就是可以锻炼我们解决问题的能力,博客搭建肯定不是一帆风顺,会遇到各种各样的小问题,有很多细节需要自己去打磨,在打磨的过程中,咱们解决问题的能力总会有提升。如果你觉得很麻烦,也可以选择现有的技术交流平台写博客,比如csdn、博客园等。但是我个人感觉,使用这些平台相比起搭建个人网站就少了很多个性,功能比较局限,不像个人网站,可拓展性很高,比如可以加入外链播放器、天气挂件等等。
所以,我还是推荐大家搭建一个属于自己的个人网站。
搭建博客需要的前提条件:
- GitHub/Gitee 账户
- 安装 Git
1 购买域名
购买域名有几个网站,可以在Godaddy上,也可以在万网,腾讯云等网站购买,我是在万网上购买的,一个.com的域名第一年就69元。
首先用支付宝登录万网,点击查询自己想要注册的域名是否已经被注册
如果你需要的域名没有被注册,点击加入清单,再点击立即结算
先选择你要的年限,再点击个人,接着点击创建新的信息模板:
填完下图信息,点击 保存 即可:
接下来,先验证邮箱,再实名认证,然后打开万网给你发的邮件验证,实名认证需要上传身份证,此时模板还是未认证状态,等认证通过,勾选模板,再勾选我已阅读,点击立即购买即可完成。
2 安装 node.js 和 Hexo
2.1 安装 node.js
下载地址:https://nodejs.org/en
如上图,直接点击下载,完成后双击安装,安装直接默认 next 就好,很简单,需要改的也就是安装位置改一下,我是在D盘新建了一个文件夹 nodejs,安装在这个文件夹里。如果要看详细到每一步的话,可以看一下这个文章:node.js 安装详细步骤教程。
安装成功,文件夹结构如下,并在上面安装过程中已自动配置了环境变量和安装好了 npm 包(也可以手动配置),此时可以执行 node -v 和 npm -v 分别查看 node 和 npm 的版本号:
因为在执行例如 npm install webpack -g 等命令全局安装的时候,默认会将模块安装在 C:\Users\用户名\AppData\Roaming 路径下的npm和npm_cache中,不方便管理且占用C盘空间,如下图所示:
所以这里配置自定义的全局模块安装目录,在 node.js 安装目录下新建两个文件夹 node_global 和 node_cache,然后在cmd命令下执行如下两个命令:
执行成功。然后在环境变量 -> 系统变量中新建一个变量名为 “NODE_PATH”, 值为 “D:\Program Files\nodejs\node_global\node_modules”,如下图:
最后编辑用户变量里的Path,将相应npm的路径改为:D:\Program Files\nodejs\node_global,如下:
在 cmd 命令下执行 npm install webpack -g:
温馨提示:注意在建立两个文件夹 node_global 与 node_cache 时,需要右键设置“属性”,将用户具有完全属性的权限,否则在 npm install webpack 时会报错。
然后 webpack 这个模块已经在我们设置默认的文件夹中了:
2.2 安装 Hexo
Hexo就是我们的个人博客网站的框架,在安装之前,我们要先在GitHub上创立一个仓库,如下图:
1. 下载 Hexo
接下来就是安装Hexo,首先在D盘建立一个文件夹 Blog,点开 Blog 文件夹,y以管理员运行 CMD 终端(也可以鼠标右键打开 Git Bash Here),输入 npm 命令安装 Hexo,安装完成后,输入 hexo init 命令初始化博客,然后输入 hexo g 静态部署,这时网页已经部署完成,输入 hexo s 命令可以查看:
npm install -g hexo-cli
hexo init
hexo g
hexo s
浏览器输入 http://localhost:4000 就可以打开新部署的网页:
2. 将 Hexo 部署到 GitHub
现在回到我们的 Blog 文件夹,用笔记本打开 _config.yml 文件,如下图:
下滑到文件底部,填上如下内容:
你的仓库地址就是下图这个:
继续安装Git部署插件,输入命令:
npm install hexo-deployer-git --save
然后分别输入以下三条命令:
hexo clean # 清除缓存文件 db.json 和已生成的静态文件 public
hexo g # 生成网站静态文件到默认设置的 public 文件夹(hexo generate 的缩写)
hexo d # 自动生成网站静态文件,并部署到设定的仓库(hexo deploy 的缩写)
完成以后,打开浏览器,输入 https://xxx.github.io 就可以打开你的网页了。
2.3 解析域名
第一步:登录万网,点击控制台,在你已购买的域名后点击解析添加一条解析记录:
那个IPV4地址可以通过ping得到,具体方法是:打开cmd输入下面命令:
ping molimi.github. -4 # ping + 你的GitHub的网址
第二步:打开 Blog 文件夹里的 source 文件夹,添加 CNAME 文件,可以先创建一个 CNAME.txt 文件,打开后写上你的域名,不要加 www 否则每次访问都必须加 www,但如果不带有 www,以后访问的时候带不带 www 都可以访问,保存后记得要重命名,将 .txt 删除,如下图:
第三步回到 Blog 文件夹,右键打开 Git Bash,依次输入下面三条命令:
hexo clean
hexo g
hexo d
打开 GitHub,看看CNAME文件是否已经在你的项目中:
这样就完成啦!这时候你就可以浏览器直接输入你的域名就会进入你搭建的网页啦!
欢迎来访问个人网站,https://qxienote.com/
参考
- Hexo官方文档:https://hexo.io/zh-cn/docs/#%E5%AE%89%E8%A3%85-Hexo
- 从零开始搭建个人博客:https://zhuanlan.zhihu.com/p/102592286
- node.js 安装详细步骤教程:https://blog.csdn.net/antma/article/details/86104068
- hexo+github搭建个人博客(超详细教程):https://blog.csdn.net/AinUser/article/details/77609180
- 利用Gitee+Hexo搭建个人网站:https://zhuanlan.zhihu.com/p/269420507
相关文章:
搭建个人博客
个人网站用处有很多,可以写博客来记录学习过程中的各种事,不管是新知识还是踩坑记录,写完就丢在网站上,方便日后复习,也可以共享给他人,让其他人避免踩雷。 当然也不仅限于技术性的文章,生活中有…...
JavaScript进阶(下)
# JavaScript 进阶 - 第3天笔记 > 了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。 - 了解面向对象编程的一般特征 - 掌握基于构造函数原型对象的逻辑封装 - 掌握基于原型对…...
基于PyQt5的图形化界面开发——堆栈动画演示
目录 0. 前言1. 了解堆栈2.代码实现3. 演示效果其他PyQt5文章 0. 前言 本文使用 PyQt5制作图形化界面演示数据结构中的堆栈操作 操作系统:Windows10 专业版 开发环境:Pycahrm Comunity 2022.3 Python解释器版本:Python3.8 第三方库&…...
2023 年第三届长三角高校数学建模竞赛赛题浅析
为了更好地让大家本次长三角比赛选题,我将对本次比赛的题目进行简要浅析。数模模型通常分为优化、预测、评价三类,而本次数学题目就正好对应着A、B、C分别为优化、预测、评价。整体难度不大,主要难点在于A题的优化以及B、C的数据收集。稍后&a…...
sqlite3免费加密开源项目sqlcipher简单使用
一、概述 使用sqlite3的免费版本是不支持加密的。为了能使用上加密sqlite3,有一个免费的开源项目sqlcipher提供了免费和付费的加密sqlite功能。我们当然选择免费的版本啦。 官方网站: https://www.zetetic.net/sqlcipher/open-source/ 文档目录&#…...
SOLIDWORKS PDM Professional中的Add-ins
实现COM接口IEdmAddIn5的DLLs:IEdmAddIn5 Interface - 2019 - SOLIDWORKS API Help。通过“Add-in特性”对话框添加到文件库中:Administrate Add-ins Dialog Box - 2019 - SOLIDWORKS API Help通知SOLIDWORKS PDM Professional 用户操作: 将Add-in添加到…...
干货 | 郭晓雷:数智安全监管机制研究与思考
作者:郭晓雷本文约4300字,建议阅读8分钟 本文报告的主要内容关于数据安全,从学术或者技术的角度,更多地认为人工智能是数据处理的新技术,其应用会产生更加丰富的数据处理活动场景。 郭晓雷:今天报告的主要内…...
感应雷电浪涌的防线,SPD浪涌保护器
SPD - Surge Protective Device SPD 是防止雷击导致故障的避雷器,代表浪涌保护设备。一般指浪涌保护器,浪涌保护器,也叫防雷器,是一种为各种电子设备、仪器仪表、通讯线路提供安全防护的电子装置。 IEC/ EN61643-11 (…...
ThreeJS教程:屏幕坐标转标准设备坐标
推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 屏幕坐标转标准设备坐标 在讲解下节课鼠标点击选中模型之前,先给大家讲解下坐标系的问题。 获取鼠标事件坐标 先来了解一些,普通的web前端相关知识。 鼠…...
[elasticsearch 实现插入查询小demo ]
目录 前言: 。以下是Java语言实现Elasticsearch数据插入和批量插入的示例代码: 我们需要定义一个ElasticsearchUtil类来封装Elasticsearch操作。在本示例中,我们实现了以下方法: 下面是一个Java代码示例,演示了如何使用Elast…...
因为计算机中丢失VCRUNTIME140怎么办?为什么会丢失VCRUNTIME140.dll
vcruntime140.dll是一个Windows动态链接库,其主要功能是为C/C编译的程序提供运行时支持。这个库在Microsoft Visual Studio 2015中被引入,其名称中的“140”代表版本号。在我们打开运行软件或者游戏程序的时候,电脑提示因为计算机中丢失VCRUN…...
【满分】【华为OD机试真题2023B卷 JAVAJS】数字游戏
华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 数字游戏 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 小明玩一个游戏。系统发1+n张牌,每张牌上有一个整数。第一张给小明,后n张按照发牌顺序排成连续的一行。需要小明判断,后n张牌中,是否存在连续的若干张…...
NLP常用的三种中文分词工具对比
本文将对三种中文分词工具进行使用尝试,这三种工具分别为:哈工大的LTP,结巴分词以及北大的pkuseg。 1、准备 首先我们先准备好环境,即需要安装三个模块: pyltpjiebapkusegLTP的分词模型文件cws.model 在用户字典中…...
Visual C++ 6.0环境开发PACS影像系统的技术指标和精准算法
一、技术指标 •图像文件格式:DCM、JPG、BMP、TIF等 •可支持显示属性设置:24/32位真彩;256位色(黑白) •可支持监视器分辨率:1024﹡768;1280﹡1024;1600&…...
接口测试介绍以及用例编写
6.1 接口 6.1.1 接口概述 定义: 接口就是API(Application Programming Interface,应用程序接口),是一个软件或服务对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。…...
MATLAB迭代的三种方式以及相关案例举例
系列文章目录 MATLAB矩阵的分解函数与案例举例 MATLAB当中线性方程组、不定方程组、奇异方程组、超定方程组的介绍 MATLAB语句实现方阵性质的验证 MATLAB绘图函数的相关介绍——海底测量、二维与三维图形绘制 MATLAB求函数极限的简单介绍 文章目录 系列文章目录 前言 …...
测试替身Test Doubles的5类型(Mockito)
测试替身Test Doubles的5类型(Mockito) 我们有一个名为 BankAccount 的类。 数据库用于存储和检索银行帐户信息。 我们想测试 BankAccount 中的逻辑,而不必担心它使用的底层数据库.由此类实现——它将 SQL 查询发送到数据库并返回其中包含的值。 测试替身Test Dou…...
【C++】链表
链表是一种常见的数据结构,用于存储和组织数据。它的每个元素被称为结点(Node),结点是链表的基本单位,链表由一系列结点(Node)组成,每个结点包含两个部分:数据部分&#…...
day42_jsp
今日内容 零、 复习昨日 一、JSP 二、EL 三、JSTL 四、MVC 零、 复习昨日 一、JSP 1.0 引言 现有问题 在之前学习Servlet时,服务端通过Servlet响应客户端页面,有什么不足之处? 开发方式麻烦:继承父类、覆盖方法、配置Web.xml或注…...
JAVA面试八股整理——基础部分
JAVA 基础 JVM JDK JRE JVM java虚拟机,针对不同的系统,使用相同的字节码会给出相同结果。一次编译,随处可运行 JDK Java SDK 提供给开发者使用,创建和编译Java程序。包含了JRE,同时包含了其它工具(jav…...
实战指南:用快马平台生成团队统一的homebrew环境配置脚本,保障协作无忧
最近在团队协作中遇到了一个头疼的问题:新成员加入时,光是搭建开发环境就要折腾一整天。不同成员的电脑上软件版本参差不齐,导致"在我机器上能跑"的经典问题频繁出现。经过一番摸索,我发现用homebrew配合bash脚本可以完…...
别再让数据库“吃”脏数据了!一文讲透MySQL约束,从入门到精通
作为一名程序员,我们每天都在和数据库打交道。不知道你有没有遇到过这样的情况:用户注册时填写的年龄是200岁,性别是“未知”,或者明明员工表里存了一个部门ID,但在部门表里却根本找不到这个部门。这些“脏数据”就像定…...
springboot-vue+nodejs的宠物领养寄养预约系统
目录技术栈选择系统模块划分数据库设计后端实现要点前端实现要点部署方案安全措施测试计划项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 后端采用Spring Boot框架,提供RESTful API接口。前端使用Vue.j…...
BilibiliDown终极指南:快速上手B站视频下载器
BilibiliDown终极指南:快速上手B站视频下载器 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibi…...
Adafruit GPS库:轻量级NMEA 0183解析器设计与嵌入式实践
1. Adafruit GPS 库概述Adafruit_GPS 是 Adafruit 公司为嵌入式平台(尤其是基于 Arduino 生态的 MCU)开发的轻量级、高鲁棒性 GPS 数据解析库。其核心目标并非驱动 GPS 模块硬件,而是专注于从串行流中可靠提取、校验并结构化解析 NMEA 0183 协…...
西门子1517F与KTP精致屏:主机厂程序框架探秘
西门子1517F搭配KTP精致屏 主机厂程序框架模板,程序结构清晰,主流程采用顺控器编写,包含各种常用功能块的手自动以及手动调用,HMI画面多采用多路复用,大大缩短编程时间, 组态从站有拧紧枪,以及从…...
给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程
给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程 第一次接触ST7789液晶驱动芯片时,面对厚厚的数据手册和复杂的时序图,很多嵌入式新手都会感到无从下手。本文将带你一步步拆解ST7789的驱动过程,从SPI模式配…...
电商老板必看:用Excel的IF和VLOOKUP函数,轻松算出你的新老客户利润贡献比
电商精细化运营:用Excel透视新老客户利润贡献的实战指南 对于中小电商企业主来说,理解客户结构是精细化运营的第一步。你可能没有专业的BI工具,但Excel这个看似普通的办公软件,却能帮你挖掘出惊人的商业洞察。本文将带你一步步构建…...
终极指南:如何用DeepSpeech构建离线语音识别系统
终极指南:如何用DeepSpeech构建离线语音识别系统 【免费下载链接】DeepSpeech DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU serve…...
MySQL 8.0 等保合规实战:手把手配置开源审计插件 server_audit.so
MySQL 8.0 等保合规审计插件实战指南 在数字化转型浪潮中,数据库安全审计已成为企业合规运营的刚需。对于使用MySQL 8.0的企业而言,如何在不影响性能的前提下满足等保2.0三级及以上对数据库审计的要求,是每位DBA和安全工程师必须掌握的技能。…...
