从Wordpress到Hexo:Why and How
经过一整天的查教程调配置,终于是把Hexo调成现在的模样,并把之前的文章一并导入了。趁着这个机会,记录一下我为什么要从Wordpress迁移到Hexo,以及我是如何迁移旧文章、配置Hexo到我自己的VPS的。
为什么要从Wordpress迁移到Hexo
Wordpress几乎是世界上使用最广泛、可玩性最佳、可用性最好的博客了,但是我在使用的过程中还是遇到了一部分问题:
- Wordpress的性能要求太高了,我那1c1g的VPS带动这么一个博客实在是有点勉强,不能说不能用吧,总之是非常容易满负载,并且网站响应速度也不够令人满意
- Wordpress的后台操作复杂,插件多且杂,很多功能需要依赖插件实现,导致后台臃肿,而有很多功能我并不需要
- Wordpress的主题也令人不甚满意。大量主题并不符合我的审美,好不容易找到一个看得上的了,却又问题频发,时不时就得进入维护模式,最后我只能用回Wordpress原始的主题。
上面这些问题令我越发觉得Wordpress并不适合作为我的博客,考虑到网站响应速度,决定一不做二不休直接改成静态的Hexo。
如何配置Hexo到自己的VPS上
安装Hexo
Hexo作为一个静态博客,与我以往接触的Wordpress、Typecho等动态博客不同,它没有一个可视化的后台,所有操作都要通过CLI进行。还有一个更大的区别,就是Hexo一般只是deploy到服务器(或者github库)上,而没有一个直接的可执行文件安装到服务器上。大概来说是下述步骤:配置node.js -> 安装Hexo -> 配置git -> 配置Hexo
(以下过程为本地Windows 11 + 服务器Debian11)
配置node.js
官网的文档推荐使用nvs安装node.js。
打开“终端(管理员模式)”,使用winget来安装nvs:
1 |
|
修改镜像地址为中科大源
1 |
|
安装LTS版本
1 |
|
然后运行nvs use命令将节点版本添加到当前 shell 的 PATH 中:
1 |
|
或者用 nvs link 命令永久添加到 PATH 中
然后配置npm源:
1 |
|
至此node.js配置完成,如果重新开启shell了需要重新nvs use。
安装Hexo
使用npm安装Hexo。
1 |
|
同时安装接下来需要的模块:
1 |
|
配置git
本地安装git直接下载安装包进行安装即可。
服务器安装:
使用apt(centOS系使用yum)安装git:
1 |
|
创建git用户:
1 |
|
将git用户添加为sudoer:
1 |
|
(或者看系统具体情况,像我的话是直接在/etc/sudoers.d里添加文件即可)
在sudoer文件中添加以下配置:
1 |
|
由于Hexo是使用git将本地的静态文件推送到服务器的git上,所以需要配置一下免密登录:
1 |
|
在本地计算机打开git Bash:
1 |
|
按照程序提示完成,最后生成的公私钥存储在’C:\Users\ _你的用户名_\ .ssh’下
将’id_rsa.pub’上传至服务器的’/home/git/.ssh’目录下并执行以下命令:
1 |
|
(使用已有的公私钥,公钥上传相同,私钥仍是copy到本地.ssh文件夹中并改名,让git可以读取私钥)
在服务器新建git仓库并配置hook
1 |
|
授予执行权限:
1 |
|
配置本地git全局变量(在gitbash中执行)
1 |
|
测试配置是否成功:
1 |
|
配置Hexo
在上述步骤完成之后,执行以下命令完成初始化
1 |
|
修改’_config.yml’文件中的’deploy’部分
1 |
|
然后在本地终端中执行
1 |
|
此时查看服务器网站目录可见静态文件,说明hexo部署成功
配置nginx
有各种各样乱七八糟的方法配置nginx和SSL,像是宝塔面板、LNMP、以及纯手动部署……八仙过海各显神通,简单说明一下最紧要的部分吧
1 |
|
然后reload一下nginx,没报错什么的话不出意外就可以正常访问了
从Wordpress迁移到Hexo
进入Wordpress控制台,工具->导出,将导出内容下载到本地,使用迁移工具进行导入
1 |
|
非常简单且无脑欸嘿
以上就是我迁移并部署Hexo的过程了,UI美化等过程不在此赘述,希望能对你有些帮助
参考文献: