hexo搭建部署github
Hexo 安装
- 首先下载安装Node ,我这里安装的是12.22版本
- 然后安装 hexo。
npm install -g hexo-cli
-g指全局安装 - 创建初始化目录
hexo init blog
这里会在当前路径下创建一个blog文件夹,同时初始化hexo配置 - 执行
npm install
安装依赖 - 安装git依赖,之后会用到
npm install hexo-deployer-git --save
,
否则会报异常 ERROR Deployer not found: git - 执行
hexo s
命令测试项目是否成功,hexo s
表示在本地运行服务。界面如下,表示成功运行hexo。
hexo默认自带两篇文章,这时可以看见
测试部署
hexo s
用来本地测试,端口是4000,可以用来调试主题等hexo g
用来生成静态文件,位于Public目录下, 若是自行部署则部署此pubilc文件夹就可以了hexo d
部署,运行这个命令直接就部署在了github上,github的配置见后文
注意:使用了github插件的话不用将代码推送至github,hexo d
就是直接会把静态文件推送至github配置的分支上
github 配置
本地证书
- 查看本地是否已有SSHKEY
查看当前用户目录下是否有.ssh文件ls -la ~/.ssh
,刚开始是没有id_rsa
和id_rsa.pub
- 生成ssh指纹、
ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"
- 添加ssh到ssh-agent中
eval "$(ssh-agent -s)"
- 查看是否已有
id_rsa
和id_rsa.pub
,id_rsa.pub
为公钥后续会使用cat ~/.ssh/id_rsa.pub
github 仓库搭建
新建一个仓库,仓库名为自己的{账号名}.github.io
,必须为自己的账号名,否则访问不了。
如 我的账户名为LiuKewenSC,那么我只能创建liukewensc.github.io
的仓库,如下图:
配置SSH_Key
在右上角个人头像处单机进入菜单,选择settings,点击SSH and GPG keys
,点击Add new SSH Key
,
title随便填,keytype默认 AuthenticationKey,Key填写上面证书的公钥,确定提交。
Hexo 配置github
在_config.yml
文件下,找到deploy
配置项,配置git,如下,配置github的仓库地址
1 | deploy: |
图片如下:
这里使用了git插件,因此前面才必须要安装hexo-deployer-git
部署执行清除,生成文件,部署三个动作
1 | hexo clean |
也可以一次执行hexo clean && hexo g && hexo d
代码和文件同时保存在一起
如果想将代码也保存在一起,则需要:
- 配置两个分支,master分支提交代码,新建一个分支专门上传静态文件
- 在github仓库的设置中,选择Pages,然后将其中你的Branch改为静态文件分支
- 在工程
_config.yml
的deploy
中修改上传分支为静态文件分支,然后执行部署
也可以参考官方部署方式
配置自定义域名
默认的域名可以直接使用了,但是只能以https协议访问,项目中如果有http协议的图片则显示不了,因此需要配置自己的域名
- 域名从几大运营商购买即可,然后配置CNAME指向github域名
- 项目的source文件夹下新建文件CNAME文件,里面填写自己的域名
- 重新部署到github服务器上
- 过一会儿访问即可
- 若还是无法访问,再试试修改github仓库的
Pages
配置,修改Custom domain
为自己的域名地址,同时这里可以修改https协议
问题
- 部署好了之后无法访问md中的图片
因为默认的github是https协议,若md中的图片地址是http协议,则无法访问
解决办法是配置自定义域名,这样才可以修改成http协议(github默认的域名访问不支持http,需要修改了才可以设置http)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 KewenBlogs!
评论