— 在唠师傅仔细教你建站系列2—本地搭建个人博客我们创建了一个我们自己的博客网站,并且在本地成功运行,小伙伴开不开心呢!
— 开心是开心,但是唠师傅,我想让我的朋友们可以访问我的这个博客,该怎么办呢?有点模模糊糊概念,是不是要把博客发布到服务器上呀?
— 是的,正常呢,我们需要发布到云服务器上,最便宜的服务器,一年也要99元呢。但是小伙伴有没有发现我们的博客其实都是静态页面呢(无须登陆交互之类的),这样的博客发布,那就有个省钱攻略啦。
— 这么棒呀!攻略是啥,快告诉我呢。
— 这个攻略的关键就是GitHub啦,好好听唠师傅给你们唠一唠
什么是GitHub
GitHub是一个面向开源及私有软件项目的托管平台,功能杠杠的,这里我们就用到它的其中一个功能,免费部署静态网站。
部署
配置GitHub
- 在GitHub官网https://github.com/注册账户并登陆。
- 创建一个新仓库(repository),名称为username.github.io,username是github用户名。
1. 点击右上角的账户图标
2. 点击"Your profile"
3. 点击"Repositories"
4. 点击new - 仓库名称填写 github用户名.github.io,如图所示,这里演示的用户名是robotdigital,所以填写robotdigital.github.io,勾选“带README的仓库”,最后点击“Creat repository”
- 则成功创建了一个名为robotdigital.github.io的repository(仓库)
博客部署
- 打开hexo博客所在的blog文件夹中的_config.yml,配置如图所示的信息(注意robotdigital要换成小伙伴们自己的github用户名哦)
- 通过cmd命令行进入blog目录,输入npm install hexo-deployer-git –save,并回车,安装相关的部署功能包。
- 输入hexo d,将本地的博客文件发布到GitHub中。
结果发现如图所示的报错,Permission denied(publickey),拒绝访问(公共密钥)。
Permission denied(publickey)问题处理
因为没有将本机加入到GitHub的信任名单中,所以将博客发布到GitHub服务器这样的远程操作被拒绝。
接下来我们需要创建SSH key(简单说,SSH是一种网络协议,用于计算机之间的加密登录) 。
- 在电脑的开始菜单中,搜索Git Bash(安装了Git就会有)并打开,输入ssh-keygen -t rsa -C “邮箱名” ,邮箱名是我们当时注册GitHub时使用的邮箱。
- 直接回车。
- 现在是要求我们输入密码,这个密码会在我们提交项目时使用,如果为空的话提交项目时则不用输入。防止别人往你的项目里提交内容。 唠师傅这里演示不输入密码,直接连续2次回车。这样就成功生成了密钥,并且密钥信息存储在C:\Users\CNBOXIA1.ssh\id_rsa.pub 中。
- 在GitHub网页上,点击右上角头像,点击"setting",接着在显示的setting页面点击“SHH and GPG keys”,再点击“New SSH key”。
- 用记事本打开id_rsa.pub文件,将里面的内容复制到Key输入框中,Title可以任意命名,最后点击“Add SSH key”。
- 在Git Bash中测试是否设置成功,输入ssh -T git@github.com 并回车,如图显示则表示设置成功。
重新部署
- 在cmd命令行中进入blog,输入hexo g并回车,再输入hexo d并回车。
无报错,表示部署成功。命令 描述 hexo s 本地启动服务器 hexo g 部署之前预先生成静态文件 hexo deploy 文件生成后立即部署网站 hexo clean 清除缓存文件 和已生成的静态文件。在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。 - 过一小会,在浏览器中输入robotdigital.github.io(robotdigital替换成自己创建的github用户名),则成功看到了博客页面,表明我们成功将个人博客发布到了GitHub上。
结束语
大家学会了吗,赶快来试试吧!
【作者】:线上唠师傅
【个人博客】:www.robotdigital.cn
【简介】:会网站建设的工业机器人工程师,专注ABB IRB工业机器人,ROBOTSTUDIO,PC SDK及WEB开发。
【转载说明】:转载请说明出处,谢谢合作!~