0%

linux和windows端搭建hexo博客,部署到github,配置域名一条龙教程,附上端口占用解决方法

[目录]
首先注册github新建一个空的仓库
搭建前的准备工作
安装git
初始化本地git仓库
开始搭建hexo
添加github的ssh
修改hexo根目录配置文件
部署到github
端口占用
购买域名
再次修改blog根目录的配置文件
github设置域名
域名配置永久
完结撒花

我们直接开始教程吧

首先注册github新建一个空的仓库

  1. 在浏览器地址栏输入这个链接,或者点击这里跳转,注册github账户前先看完第二条

    github.com

  2. 如果不想买域名的话,博客搭建好以后直接部署到github就行,这里要注意,部署到github的地址名字要和你的github的用户名一致,例如:github的用户名为Anli,部署到github后,博客地址就是这个:anli.github.io,所以github的用户名要慎重再慎重,我之前在这里踩了坑,弄了好久才弄好

  3. 跳转链接以后,点击右边的‘sign up’进行注册,填写你的github用户名(请看第二条),绑定的邮箱,还有设定你的密码

  4. 点击‘sign in’登录,登录成功后点击左边的‘new’新建一个仓库


  5. 如下所示,如果你的用户名是Anan,那么需要填的是Anan.github.io,最后的这个后缀必须是.io

  6. 最后点击最下面的Create repository,创建成功,这个时候里面是空的,先不用管它。

    搭建前的准备工作

  7. 安装nodejs

    前面的是centos系列的安装命令,后面的是ubuntu和deeping系列的安装命令,后面就只展示centos的啦,ubuntu和deeping的只需要把yum变成apt-get即可,大部分命令直接换是可以的,如果不行,就自行百度吧

    windows端的安装百度查找

    sudo yum install nodejs或者sudo apt-get install nodejs

  8. 安装npm

    windows端的安装百度查找

    sudo yum install npm

  9. 检查安装情况:分别输入以下命令,如果出现版本号则表示安装成功

    node -v
    npm -v

  10. 用npm安装,命令如下:

    windows端要用cmd的管理员安装,linux系统直接安装

    npm install -g hexo-cli

如果安装出错,尝试用这条命令解决

npm config set strict-ssl false
输入上面命令后,再次输入安装命令
npm install -g hexo-cli

如果还不行,请在评论区告诉我,O(∩_∩)O谢谢

检查是否安装成功

hexo -v

出现版本号表示安装成功

安装git

yum -y install git

检查是否安装成功

git --version

出现版本号即安装成功

初始化本地git仓库

设置Git的user name
git config --global user.name "双引号里面改成你注册好的github用户名"
设置git的邮箱
git config --global user.email "双引号里面改成你注册好的github邮箱"

开始搭建hexo

  1. 创建一个文件夹用来放你的博客文件

    mkdir blog

mkdir是Linux的创建文件的命令,命令后面跟着的就是文件的名字,名字个人喜欢命名,也可以带上地址,具体百度搜索linux如何创建文件夹
8. 进入到刚刚创建的文件夹中

cd blog
9. hexo初始化
hexo init

这个时候可能会发生错误



这是因为node版本太低导致的,这个时候我们用这两个命令来更新到最新版

先输入这条命令安装n软件
npm install n -g
n软件是node专门的软件,所以可以用n软件更新升级到最新的稳定版,命令如下
n stable
然后再输入hexo的初始化命令
hexo init

(另外,hexo的初始化必须是在空文件夹中进行,如果初始化中发生错误时,首先检查一下你放博客的那个文件夹是不是空文件夹,查看是否有隐藏文件,如果有的话,得先把隐藏文件移出去,初始化完成后再移回来)
10. 初始化完成后就可以生成项目了,输入命令:hexo g
11. 生成项目以后开始启动项目:hexo s
12. 根据终端给出的链接就可以进入到初始化的hexo啦,至此hexo搭建成功,退出的话在终端同时按住ctrl+c或者shift+ctrl+c即可

添加github的ssh
  1. 部署后不着急,我们先添加一下github的ssh
    在主机根目录下,输入这条命令ssh-keygen -t rsa -b 4096 -C"******@qq.com",其中******@qq.com填入你注册github的邮箱账号

    然后会出现这行:Enter file in which to save the key (/home/tia/.ssh/id_rsa): ,这时候直接回车,那么后面的这个路径(/home/tia/.ssh/id_rsa)就是你的ssh的存放路径

    之后会提示输入密码,要记住这个密码,输入密码后会有一个图案出现,看到这个奇怪的图案就证明成功啦,这个时候我们切换到.ssh目录下cd /home/tia/.ssh

    然后ls查看一下目录下的所有文件,找到id_rsa.pub文件,用vi id_rsa.pub打开文件,复制里面的所有内容

    登录github官网,找到最右边的四边形图案,点击展开下拉菜单,点击settings



    在左边的菜单栏中找到ssh



    打开的页面中,将复制的内容粘贴到key里面,title自己写,写啥都行,然后点击Add SSH Key

    最后测试是否成功,打开终端,输入ssh -T git@github.com,之后等一小会儿会出现很多英文单词,如果找到‘successfully’,那就安装成功啦
    修改hexo根目录配置文件
  2. 打开终端,cd blog切换到博客的根目录,安装插件
    npm install hexo-deployer-git --save
  3. ls查看博客根目录下的所有文件,找到_config.yml这个文件,输入命令vi _config.yml编辑文件,把以下内容复制粘贴到文件的底部
    1
    2
    3
    4
    5
    6
    7
    deploy:
    type: git
    repo:
    github: https://github.com/你的github用户名/你的github用户名.github.io.git
    coding: git@e.coding.net:你的coding用户名/你的coding用户名/你的coding用户名.git,master
    branch: master

github是国外的,coding是国内的,如果用github太慢,可以考虑加一个coding,国内线路走coding,国外线路走github,配置方法和github的大致一样,就不多说了。
这里要注意,deploy前面没有缩进;type,repo,branch前面的缩进是两个空格;github,coding前面的缩进是六个空格;所有的冒号后面都有一个空格的缩进,这是makedown语言的格式,冒号后面没有空格,则设置不成功。务必严格缩进格式,不然会报错。

我之前看到有的教程说这个

1
2
repo: 
github: https://github.com/你的github用户名/你的github用户名.github.io.git

已经无法使用了,我的还可以,如果你们的hexo版本号和我的不同,有可能也用不了这个了,那就把https://github.com/你的github用户名/你的github用户名.io.git换成git@github.com:你的github用户名/你的github用户名.github.io.git

部署到github

输入命令hexo d,就成功部署到github啦,打开浏览器,在地址栏输入你的github用户名.github.io就可以访问啦,如果以上步骤都成功了没有报错,可是就是无法进入博客,那可能是端口占用的问题,如果没有的话直接跳过这一步

端口占用

hexo默认的端口是4000,不确定是否被占用的情况下,打开终端输入yum install lsof安装lsof,其他系统的安装命令自查,然后输入命令lsof -i:4000查看
如果被占用,终端会展示端口的信息,找到端口对应的PID,kill掉即可,命令如下kill -9 PID,假如端口对应的PID是7109,那么命令就是kill -9 7109

购买域名

首先购买域名,我是在腾讯云买的,地址是https://cloud.tencent.com/点击这里跳转,在搜索框搜索域名注册,点击域名注册购买域名,完成实名认证,修改域名所有者,这些需要等审核通过,我们可以一边等一边继续教程内容


买完域名以后到腾讯云首页,找到最右边的”控制台”


点进去以后搜索域名管理


点击红圈所示部分,进入页面后点击“解析”


点击“添加记录”添加域名解析,这里只需要添加两个即可,一个www的,一个@的,具体参数设置如下:


其中记录值写的是当初你填在下图的地址(似乎不区分大小写,可以尝试一下,我当时在这里填的是Caixuya.github.io,而记录值写的是caixuya.github.io)

再次修改blog根目录的配置文件

cd blog切换到你的博客根目录,ls查找_config.yml,之前配置过这个文件,然后vi _config.yml编辑这个文件,找到url:,删除url后面的东西,(如果没有的话就不用删,有的话就删掉)填上你自己的域名地址,假如你买的域名是anan.top,然后在前面加上http://,就像这样http://www.anan.top,下面的那个root的话一般是root:/,但是如果你的地址是http://yoursite.com/child这样的话,那么你的root就应该写成root:/child/

github设置域名

打开之前创建好的那个仓库,找到里面的settings


打开以后往下拉找到这个


在custom domain中填入你的域名,不加http的,例如购买的域名是anan.top,那么这里填的就是www.anan.top,然后点击“save”保存,如果设置成功的话,会出现上面这张图里蓝色的github pages下面那行"Your site is published at https://www.***.top",后面的这个链接就是你的博客地址了,点击链接即可访问你的博客

这个时候你会发现,你创建的那个github仓库里面多出了一个CNAME文件,就是这个,请注意这个文件,因为它是一个重量级嘉宾。

域名配置永久

这里设置好域名以后是可以直接访问了,但是有一个问题,那就是每次写完博客重新部署的时候,就又得再设一次域名,虽然过程不复杂,但确实很不方便。其实这涉及hexo的一个特性,每次执行hexo clean以后都会清空缓存和已生成的静态文件,这个时候你刚配置好的CNAME文件就被清理掉了,而这个CNAME文件里恰好放的是你刚刚配置好的域名,这不就等于没有配置吗?解决办法就是:在配置好域名后,把整个项目克隆下来,首先找到你的项目(实在找不到就去你的github首页,你的项目名字是:你的用户名.github.io,也就是你之前创建的那个仓库),找到后点击绿色的小按钮,像这样


下载完成后,解压,然后找到CNAME文件,复制粘贴到你博客根目录下的source文件夹里面




最后附上CNAME这个文件里面到底有啥内容

完结撒花

The End

点这里请我吃个小蛋糕吧~~

Welcome to my other publishing channels