Deploy your website

摘要

我们在使用Hexo+NexT搭建好个人博客后,只能在本地端口访问,其他人无法访问(有一种内网穿透的方法可以将电脑端口暴露,从而达到”上线“的功能。尚未了解 找到了:Here)。

我们可以使用Github pagesGitee pages 上线网站从而白嫖一台只能搭载静态网页的服务器 (是不是有种白嫖的快乐)以下是上线步骤。

Github pages

主要步骤

  • 注册GitHub、新建仓库

    新建一个仓库,注意仓库名一定是用户名与github.io的组合,例如benkangpeng.github.io

  • 生成ssh-key

    如果未配置过git ,未获得ssh key 的话,需要配置git并获得ssh key(我理解为电脑硬件、邮箱对应的编码。通过该编码可以找到唯一的计算机,GitHub就是通过ssh key与计算机进行加密数据传输的。计算机网络没学 ,一定得补补:cry:)

    1
    2
    3
    git config --global user.name "benkangpeng"
    git config --global user.email "benkangpeng@163.com"
    ssh-keygen -t rsa -C "benkangpeng@163.com" # 之后三次回车

    根据终端输出的信息找到id_rsa.pub的位置,或者通过以下命令查看:

    1
    cat ~/.ssh/id_rsa.pub
  • Connect computer with GitHub by ssh-key

    将ssh-key加入到github上:点击个人头像进入个人空间SSH and GPG keysNew SSH key ,Title随意(最好标明是哪台电脑),Key粘上刚才复制的id_rsa.pub ,添加成功后会收到Github的邮件。

    尝试本机与Github通信

    1
    ssh -T git@github.com

    Hi BenkangPeng! You’ve successfully authenticated, but GitHub does not provide shell access.

    若显示以上结果,则表明通信成功。

  • 修改Hexo 配置文件

    _config.yml 文件中找到deploy一项,修改为

    1
    2
    3
    deploy:
    type: 'git'
    repository: https://github.com/benkangpeng/benkangpeng.github.io.git

    其中,type表示the type of site deploying , 即网站发布的方式,我们通过git发布

    repository则填写之前建立的仓库的地址,后加上后缀.git

  • 安装hexo部署插件(最好在根目录安装插件)

    1
    2
    benkangpeng@DESKTOP-FR84659 MINGW64 /d/Hexo/blog (master)
    npm install hexo-deployer-git --save
  • 将文件上传到Github

    1
    2
    3
    hexo clean
    hexo g # hexo generate
    hexo d # hexo deploy

    此时相关文件已上传到对应的仓库中,但如果此时你输入https:\\benkangpeng.github.io结果是404,原因是未将该仓库设置为GitHub pages .

    在仓库页面右边的侧边栏中有一个设置的齿轮图标,点击→勾选Use your GitHub Pages websiteSave Changes

  • 大功告成,输入https:\\benkangpeng.github.io查看网页吧!

Gitee pages

因为Gitee pages的部署与Github类似(毕竟抄来的),以下步骤较为简略,可参考着Github的配置步骤进行。

主要步骤:

  • Gitee注册账号并实名认证(对,就是这么狗:dog:)

  • 新建仓库

    此处一定要注意仓库名与用户名一致,例如我的是benkangpeng,与Github不同(GitHub是benkangpeng.github.io)

  • Git全局设置、获取ssh-key(同上面的Github)

    已经设置过全局设置、获取过ssh-key,则无需进行操作。重复操作会改变计算机的ssh-key,与之前在Github绑定的ssh-key不同了,导致Github与计算机无法通信。最优解:固定计算机的ssh-key不变,Github、Gitee共用一个。此后也不要变更ssh-key.

    1
    2
    3
    git config --global user.name "benkangpeng"
    git config --global user.email "benkangpeng@163.com"
    ssh-keygen -t rsa -C "benkangpeng@163.com" # 之后三次回车

    根据终端输出的信息找到id_rsa.pub的位置,或者通过以下命令查看:

    1
    cat ~/.ssh/id_rsa.pub
  • SSH-key填入Gitee

    点头像→设置→SSH公钥

  • 第一次通信

    1
    ssh -T git@gitee.com

    Hi BenkangPeng(@benkangpeng)! You’ve successfully authenticated, but GITEE.COM does not provide shell access.

    咱也不懂does not provide shell access是啥意思,Gitee垃圾就完事了

  • 修改hexo _config.yml

    1
    2
    3
    4
    deploy:
    type: 'git'
    #repository: https://github.com/benkangpeng/benkangpeng.github.io.git
    repository: https://gitee.com/benkangpeng/benkangpeng.git
  • 安装hexo部署插件(安装过的无需重复安装)

    1
    npm install hexo-deployer-git --save
  • 部署、上传到Gitee

    1
    2
    hexo g
    hexo d

    此时可以看到相关文件已上传到Gitee仓库中。

  • 将仓库设置为Gitee Pages

    ①进入仓库→上面的边框 管理→向下滑,勾选开源保存

    ②进入仓库→上面的边框 服务Gitee Pages → 勾选强制使用HTTPS启动