本篇环境使用阿里云服务器,操作系统是 Ubuntu 22.04。会从 Hexo 安装开始,到最终浏览器通过域名访问博客,如有遗漏,欢迎指出。
# 环境准备
# 安装 Hexo
Hexo 官网地址点这里
# 安装 Node.js
如需升级可以参考 node 升级,其他安装方式参考如何在 Ubuntu 20.04 上安装 Node.js 和 npm。
- 安装 nodejs 和 npm
| sudo apt update |
| sudo apt install nodejs npm |
- 检查版本
| nodejs --version |
| npm --version |
# 安装 Hexo
- 全局安装
- 检查版本
# 建站
- 初始化目录
- 进入目录
- 安装依赖
- 生成静态文件
# 简单访问
- 如果没装 Nginx,请先安装。
- 配置 Nginx,映射目录为 blog 下的 public 目录。
http 中增加 server:
| server { |
| listen 80; |
| root /data/hh/blog/public; |
| server_name demo.couplecoders.tech; |
| location / { |
| try_files $uri $uri/ =404; |
| } |
| } |
- 重启 Nginx
| sudo service nginx restart |
- 访问
访问域名,出现 Hello World 页面,说明一切正常。接下来就看下如何使用 shoka 主题。
# 切换 shoka 主题
shoka 官方文档参考 Hexo shoka 主题使用说明。
主题的安装与配置,官方文档已经很详细了,这里不再说明了。如果是想自己从头安装,参照官方文档即可。
为了本人下次切换服务器能够快速配置好主题,以及给我的小伙伴分享教程,这里记录下步骤。
- 拷贝旧资源
| |
| cp -r /data/hh/repo/blog/themes/shoka /data/hh/blog/themes/ |
| |
| cp /data/hh/repo/blog/_config.yml /data/hh/blog/_config.yml |
| |
| rm /data/hh/repo/blog/source/_posts/hello-world.md |
| |
| cp -r /data/hh/repo/blog/source/* /data/hh/blog/source |
- 安装插件
| npm un hexo-renderer-marked --save |
| npm i hexo-renderer-multi-markdown-it --save |
| npm i hexo-autoprefixer --save |
| npm i hexo-algoliasearch --save |
| npm i hexo-symbols-count-time --save |
| npm i hexo-feed --save |
| npm i hexo-enhancer --save |
搜索功能
这一步骤是写给我的小伙伴,记得重新配置下自己的搜索,不要和我的弄一起了。具体参考官方文档。
生成静态文件
| hexo clean && hexo g && hexo algolia |
- 成功
大功告成!之前每次搞好久,发现记录一下,只需要两个步骤即可。
# 部署
一般情况下会在本地写博客,然后提交到服务器。当然也可以使用 VSCode 等远程写博客,不过这样就要手动部署了。
# 手动部署
| hexo clean && hexo g && hexo algolia |
# 自动部署
- 初始化仓库
需要进入 blog 目录下,注意这里创建的是一个普通库,普通库与裸库的区别见:git 普通库与裸库。
| git init |
| |
| git config receive.denyCurrentBranch ignore |
- 创建钩子
| vi .git/hooks/post-update |
| #! /bin/bash |
| read mes mes ref |
| if [ "$ref" == "refs/heads/master" ]; then |
| cd .. |
| unset GIT_DIR |
| git reset --hard |
| |
| cd hexo |
| hexo clean |
| hexo g |
| hexo algolia |
| fi |