本篇为第一部分:基础环境安装
hexo的安装主要涉及到三个软件的安装:Git、nodejs、hexo
安装后的效果是我们可以通过访问http://IP:4000地址进行查看到hexo的hello world页面。 同时可以通过GitHub地址或自己的域名进行访问。
本次安装环境:Centos7 最小安装的系统
第一节:Git的安装
1、将centos更新至最新(可忽略)
代码语言:javascript复制yum -y update
2、执行快速安装命令
代码语言:javascript复制yum install git -y
3、设置基础账号与邮箱
代码语言:javascript复制git config --global user.name "你的账号"
git config --global user.email "你的邮箱"
第二节:nodejs的安装
本次安装采用编译安装(快速安装在本次记录中没有找到合适的办法安装最新版本)
1、安装基础编译环境
代码语言:javascript复制yum install gcc-c
2、下载源码包
代码语言:javascript复制wget https://npm.taobao.org/mirrors/node/v11.0.0/node-v11.0.0.tar.gz
3、解压源码包,并进入解压后的文件夹中
代码语言:javascript复制tar -zxf node-v11.0.0.tar.gz
cd node-v11.0.0
4、开始进行编译,本次编译时间大约30分钟左右(可以去忙些别的了。。。)
代码语言:javascript复制./configure && make
5、开始进行安装
代码语言:javascript复制make install
node -v
npm -v
备注:如果node -v没有版本信息,可进行一下设置环境变量再进行测试
代码语言:javascript复制vim /etc/profile
在该文件底部增加下面两行
export NODE_HOME=node目录
export PATH=$NODE_HOME/bin:$PATH
执行命令生效环境变量后再次重新尝试获取版本信息。
代码语言:javascript复制source /etc/profile
node -v
npm -v
第三节:hexo的安装
1、安装hexo软件
代码语言:javascript复制npm install -g hexo-cli
hexo -v
2、初始化
代码语言:javascript复制hexo init 你自己的个人博客文件夹名称
初始化后生成了一系列文件详情请参考https://hexo.io/zh-cn/docs/setup
3、根据package.json文件进行自动化安装
代码语言:javascript复制npm install
4、生成静态文件
代码语言:javascript复制hexo g
5、启动服务器。默认情况下,访问网址为: http://localhost:4000/
代码语言:javascript复制hexo s
注:命令参考https://hexo.io/zh-cn/docs/commands 这时可以进行访问当前这个博客了。
第四节:GitHub的配置与访问
上面已经搭建完成了基础环境,下面我们想要在互联网上可以随意访问个人的博客,但是我们当下没有自己的服务器和相应的外网IP地址,对此,这里我们采用GitHub的方式进行发布自己的个人博客。 前提条件自己需要去https://github.com/官网进行注册一个账号
1、在该账号下创建一个项目,该项目名称命名方式要遵循以下格式:
hexo的个人博客名称(也是自己以后访问使用的域名).github.io
image.png
image.png
2、切换到自己的服务器中,在~目录下执行
代码语言:javascript复制ssh-keygen -t rsa -C "你的github中设置的邮箱"
建议在设置ssh的秘钥时设置一个证书密码
代码语言:javascript复制cd .ssh/
cat id_rsa.pub
3、将上面查看的所有信息复制一份放到GitHub上面
image.png
4、在服务器中进行执行以下命令进行测试ssh直连是否可用
代码语言:javascript复制ssh -T git@github.com
这里在执行时会让输入一个密码,这个密码就是上面证书设置的密码,如果上面没有设置密码,则这里直接免密连接。 连接成功会打印一句话: Hi cnHuaShao! You've successfully authenticated, but GitHub does not provide shell access.
5、hexo的git基础管理工具。
代码语言:javascript复制#安装基础的管理软件
npm install hexo-deployer-git --save
6、设置hexo项目提交位置
代码语言:javascript复制cd ~/你的hexo项目名
vim _config.yml
#翻到最底部,设置以下内容,:wq保存并退出
deploy:
type: git
repo: https://github.com/你的GitHub的名称/上面设置的名称.github.io.git
branch: master
7、清理当前项目基础缓存,重新生成静态文件并部署,这里自动化部署就是根据上面设置的地址自动化提交。
代码语言:javascript复制hexo clean
hexo generate
hexo deploy
这时可以稍微等一会,在浏览器中输入http://上面设置的名称.github.io网站访问自己的博客了
注:在提交的过程中会让输入GitHub的账号密码,如果想不输入账号密码,则看下面的第8、9步。
8、其实我们在上面准备的SSH的证书就是为了不输入密码提交GitHub,设置起来也很简单,首先获取到HTTP的项目地址
image.png
9、修改上面的_config.yml中的repo地址,将这个地址替换成第8步中获取到的地址。
这时再进行hexo deploy部署时发现不需要输入密码了,当然如果你的证书是和我一样也设置了密码,那么还是需要输入证书密码的,免密登录重新生成一个无密码的证书并设置到GitHub上就可以了。
第五节:个人域名的解析与配置
上面我们已经将自己的博客发布到互联网上了,并可以在任何具有网络的地方访问了,但是身为一名合格的程序猿,没有自己的域名怎么可能呢,这里我们就用阿里云上面的域名进行设置一下,让自己的项目可以用自己的域名访问。
1、打开阿里云域名管理页面,进行添加相关解析地址:
image.png
2、打开GitHub中个人博客项目的设置页面,进行设置自己的域名。
image.png
向下翻,在此处设置上自己的域名地址即可,当然图中使用的是二级域名设置,如果使用一级域名则将解析中的A类的设置为www,而不是blog,同样的在下图中设置时也是使用一级的域名保存。
image.png
注:这里存在一个问题,当我们再次部署项目时,会自动将上面的项目设置域名给还原成原来的.github.io域名,下面我们来讲一下如何避免自动还原。 1、进入服务器的hexo项目中的source目录下创建一个文件CNAME,文件中增加自己的域名地址。
image.png
2、重新生成静态文件
代码语言:javascript复制hexo c
hexo g
hexo d
这时再去GitHub中会发现重新提交的项目不会再替换掉设置信息了。