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