Hexo博客如何使用ftp的方式部署网站

我们在使用 Hexo 博客程序搭建博客网站的时候,最难的问题可能就是图片和附件的保存,虽然互联网上给出了很多的解决方案,例如使用腾讯或者阿里云的存储空间来存放图片附件。但腾讯或者阿里云的云存储是需要按照流量付费的,甚至上传流量都需要付费,虽然购买时价格低一些,但如果网站流量大或者遇到恶意刷流量的情况,估计小站长们承受不起。

于是便想到使用物美价廉的虚拟主机,用虚拟主机存放图片,一般感觉比图床要便利很多。而且 Hexo是可以通过 ftp 的方式部署网站的,于是找了份便宜稳定的虚拟主机,看看这次能不能成功,如果成功了,就不用每天为存储附件和图片,以及网站服务器发愁了。先来看插件的安装:

1.插件安装说明:

这次使用的依然是良心插件 hexo-deployer-ftpsync,大家需要提前安装按一下,运行下面的代码

1
npm install hexo-deployer-ftpsync --save

如果不能够运行,就使用

1
npm install hexo-deployer-ftpsync

安装之后就可以在网站的根目录里添加ftp的部署代码:

2.添加部署代码:

1
2
3
4
5
6
7
8
9
10
11
#### ftp deploy
deploy:
type: ftpsync
host: ftpserver # ftp服务器地址
user: ftpusername # ftp用户名
pass: xxxx # 你的ftp用户密码
remote: xxx # 你要上传到的地址,例如/wwwroot
port: 21 # ftp端口,不同的ftp可能会不一样
delete: true # 上传本地文件是否删除ftp中的所有文件
verbose: true # 是否打印调试信息
ignore_errors: false # 是否忽略错误

其中的相关设置,大家查看一下虚拟主机的控制面板,对应将代码填好,如果你的轻量云服务器或者 VPS 开通了 ftp 功能,也可以来部署 Hexo 博客发布。然后还需要将默认的部署代码删除掉,不然会报错

1
2
3
# Deployment
deploy:
type: # 设置发布类型,如git,rsync

显示如下代码

然后只需要运行 Hexo 的部署代码

1
hexo d

3.测试部署文件

通过 ftp 传输部署网站缺点很多,最大缺点是太慢,ftp 会时不时休息,主要是主机商不支持 ftp 反复大量写入,建议朋友们尽量不要采用 ftp 方式部署网站。上传完成之后,会给出一个提示:

而且测试时,莫名其妙的总是删除掉 HTML 格式的文档,例如

1
index.html
1
404.html

咨询空间商,说是触发了保护机制,更改之后就没有问题。事实上,从当前虚拟主机市场来看,性能和安全、成本等诸多问题很难平衡,如果必须使用这种方式部署网站页面的话,建议使用 FlashFXP 直接上传 Public 文件夹里面的内容到虚拟主机。

开源地址:https://github.com/hexojs/hexo-deployer-ftpsync

需要的朋友可以参阅这款插件的说明文档。