如何部署 Hexo 博客到 Linux 服务器
条评论自从把博客迁移到 Hexo 后,如何方便的把生成的静态博客部署到 Linux 服务器成了摆在眼前的问题。
Hexo 官网介绍了几种部署方式:https://hexo.io/zh-cn/docs/one-command-deployment
1、Rsync 方案(放弃)
本来想试一下 rsync 部署,发现它不支持 windows 系统。
后来灵机一动,Git 能在 windows 系统里用,Git for windows 里还自带 bash.exe,而 Git for windows 又是 msys2 的工具包封装而来。那么先看看 msys2 里有没有 rsync,有的话,复制到 Git 里不就可以在 windows 系统下用 rsync 了么。
打开 MSYS2 Shell,执行以下命令:
1 | pacman -S rsync |
果然有,于是查看了 rsync 安装位置和依赖包,复制到 Git 里相应位置,运行时发现版本不兼容,无奈作罢。
2、Bash 脚本方案
看了下文档,还可以选择 SFTP 部署方式,我没尝试了,而是想到了更简单的部署方式。
目前我的部署方式是在 windows 系统本地运行 hexo clean && hexo g
生成静态站点,然后 ftp 上传到服务器上。
而这一过程重复多次以后,就觉得很烦了,想着把它简化一下吧。
于是写了个 bash 脚本放在 Hexo 博客根目录,命名为 “deploy.sh”,内容如下:
1 |
|
注意,此脚本运行的前提条件是为 Linux 服务器配置好免密登录,可以参考我的另一篇文章:
我在 Nginx 配置的完整目录是 /var/www/website/public
。
脚本中的 _remote_dir
即为我的网站存放目录,因为网站打包已经包含了 public 目录,所以这里就不需要再填写 public 目录了。
脚本中的 _remote_host
则是配置我的 ubuntu 服务器的地址(username@ip)。
这样每当我写完新的文章以后,就可以在网站根目录打开 “Git Bash”,执行:
1 | bash deploy.sh |
脚本运行完,就表示我的网站已经部署好啦,怎么样,是不是简单方便。
End–
本文标题:如何部署 Hexo 博客到 Linux 服务器
文章作者:郭大侠
发布时间:2025-03-19
最后更新:2025-04-03
原始链接:https://www.guozhenyi.com/post/2025/03/19/how-to-deploy-hexo-to-linux-server.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!