Hexo搭建和部署
这个世界的起源过程…
本地搭建
安装node.js
官网下载一路next即可
安装git
略
添加ssh
本来这一步也没什么问题,不过遇到一个坑,而且网上很多网友也遇上了,故在此记录
- 生成ssh:
1 | ssh-keygen -t rsa -C "你的邮箱" |
- 继续:
1 | ssh-agent -s |
- 继续:
1 | ssh-add ~/.ssh/id_rsa |
这一步有可能会提示“Could not open a connection to your authentication agent”错误,网上有的解法并不可行,这里给出官方解法(还是官方文档靠谱)
- 输入:
1 | eval $(ssh-agent -s) |
- 最后:
1 | ssh-add ~/.ssh/id_rsa |
安装hexo
执行如下命令安装hexo
1 | npm install -g hexo |
然后cd到你要初始化的地方初始化
1 | hexo init |
生成静态页面
1 | hexo g |
本地启动
1 | hexo server |
启动后浏览器输入http://localhost:4000 就可以看到效果了
阿里云部署
参考:https://zhuanlan.zhihu.com/p/58654392
记得阿里云服务器选ubuntu系统
apt 安装nginx和git:
1 | apt update |
生成ssh key:
1 | ssh-keygen -t rsa -C "qwertylevel3@126.com" |
同步pubkey到gitee用于clone博客项目
cd到这个目录,clone本来部署在gitee上的博客项目/var/www/html
于nginx配置目录修改默认页面:
1 | /etc/nginx/sites-available/default |
1 | server { |
保存,重启下nginx服务,即可
systemctl restart nginx.service
CI/CD
创建 git 用户:
1 | adduser git |
在 /home/git 目录下创建裸仓 hexo.git:
1 | cd /home/git |
修改 hexo.git 的所有者和组权限:
1 | chown -R git:git hexo.git |
获取本地机器 SSH 的公钥:
1 | cat ~/.ssh/id_rsa.pub |
复制公钥,将公钥写入阿里云机器的 /home/git/.ssh/authorized_keys 文件中
在 /home/git/hexo.git/hooks/post-receive 文件中写入:
1 |
|
这个脚本意思是一旦本地触发了服务器hexo.git仓库的更新,就会自动同步文件到html下的博客页面文件
本地写作hexo环境_config.yml
增加配置:
1 | deploy: |
免密部署
不过此时每次hexo d
的时候依然需要输入密码
如下操作免密:
1 | su git |
然后将本地的ssh pub_keys复制过去
1 | cd ~ |
圖片
別用hexo-asset-image!!!
1 | npm install hexo-asset-link --save |
_config.yml
中:
1 | post_asset_folder: true |
通過如下的相對路徑即可引用{% asset_img "cover.jpg" "" %}
其他
关于写东西
首先:
1 | hexo new 文章名 |
然后就可以在hexo\source_posts里看到新建的一个”文章名.md”
写完了以后:
1 | hexo g |
关于theme
网上找一个喜欢的theme,git命令安装,然后修改_config.yml,找到
1 | theme: |
改为
1 | theme: 主题名 |
即可
关于摘要
在摘要与正文之间用
<!--more-->
分割即可
tips
- _config.yml里所有”xxxx: yyyy”这个冒号后面要接一个空格
- 主题都在hexo/themes/下,要更改theme修改_config.yml即可
- deploy可能会报权限问题,记得
chown -R
将html下博客目录修改给git用户 - butterfly主題文檔:https://butterfly.js.org/