目录
通过github可以发布个人博客(免去了寻找服务器的麻烦),通过域名绑定,可以使用自己的域名访问个人站点。
1. 安装Git Bash
git原来是为了同步github安装的,通过git bash 命令:git version 可以获取版本号。
2. 安装NodeJs
Hexo是基于nodeJS环境的静态博客,里面的npm工具很有用啊,下载地址(说明:LTS为长期支持版,Current为当前最新版)。之前也安装过NodeJs。通过(可以在cmd中)node -v 可以查看版本号。
3. 安装hexo
#安装过程中的警告(WARN)在不影响下一步操作时,可以先忽略。ERR要处理。
在gitbash中用npm工具安装就好了。先创建一个文件夹(用来存放所有blog的东西),然后cd到该文件夹下。安装hexo命令:npm i -g hexo 安装完成后,可以通过 npm-v 查看版本。
初始化命令:hexo init ,初始化完成之后打开所在的文件夹可以看到以下文件:
- node_modules:是依赖包
- public:存放的是生成的页面
- scaffolds:命令生成文章等的模板
- source:用命令创建的各种文章
- themes:主题
- _config.yml:整个博客的配置
- db.json:source解析所得到的
- package.json:项目所需模块项目的配置信息
4. 生成SSH并添加到github
需要有一个github的账号,然后创建一个repository,名称为yourname.github.io(其中yourname是你的github名称),必须这样命名。
回到gitbash中,配置github账户信息(YourName和YourEail都替换成你自己的):
$ git config --global user.name "your username"
$ git config --global user.email "your email"
创建SSH。在gitbash中输入:ssh-keygen -t rsa -C "youremail@example.com",生成ssh。需要输入保存的路径,其中文件名字必须是id_rsa。输入密码可以跳过为免密码。
Enter file in which to save the key (/c/Users/19829/.ssh/id_rsa): ...
...
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
...
The key's randomart image is:
创建成功会生成类似下图这样的图像
+---[RSA 2048]----+
| oo o |
| o..* o |
| . o. B . |
| = .o o . |
| o + . S |
| o = ... E |
| ooOo=.=. . |
|.+*+=++.o . |
|===ooo. .+. |
+----[SHA256]-----+
然后通过
$ cat id_rsa.pub
打开id_rsa.pub文件(上一步生成了两个文件分别是id_rsa和id_rsa.pub)复制文件内全部内容。将获取的ssh放到github中:settings——>ssh-key——>添加一个 New SSH key ,title随便取,key就填复制的内容。
在gitbash中验证是否添加成功(完成下一步你就成功啦!):
ssh -T git@github.com
Permission denied (publickey) 问题的一种可能解决方案(命名问题也可能导致该问题):通过ssh-add -l 查看的加入密匙列表,通过 ssh-add 添加密匙。
$ ssh-add -l
Could not open a connection to your authentication agent.
$ ssh-add -l
The agent has no identities.
$ ssh-add /f(window下的F盘)/生成的ssh所在位置/id_rsa
#添加成功后可以通过ssh-add -l 看到相关信息
$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
#添加成功
5. 部署项目
用编辑器打开你的blog项目,修改_config.yml文件的一些配置(冒号之后都是有一个半角空格的):
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
回到gitbash中,进入你的blog目录,分别执行以下命令:
hexo clean
hexo generate
hexo server
注:hexo 3.0把服务器独立成个别模块,需要单独安装:npm i hexo-server。打开浏览器输入:http://localhost:4000,接着你就可以遇见天使的微笑了~
6. 上传到github
先安装一波:npm install hexo-deployer-git --save(这样才能将你写好的文章部署到github服务器上并让别人浏览到)。执行命令(建议每次都按照如下步骤部署):
hexo clean
hexo generate
hexo deploy
在浏览器中输入http://yourgithubname.github.io就可以看到你的个人博客啦!