Hexo博客如何部署到虚拟主机中

我们在使用Hexo博客程序制作博客网站的时候,最难的问题可能就是图片和附件的保存问题,虽然互联网上给出了很多的解决方案,例如腾讯或者阿里云的存储空间来存放图片附件。但是需要注意的是,腾讯或者阿里云的云存储问题,是需要按照流量付费的,甚至上传流量都需要付费,虽然购买的时候价格低一些但是如果流量大或者遇到恶意刷流量,估计小站长们承受不起,所以才想到了物美价廉的虚拟主机,用虚拟主机存放图片,一般感觉比图床要便利很多。

安装所需的Hexo博客插件

如果使用虚拟主机存放图片,就需要ftp上传,我们需要再命令窗口运行如下代码,主要是用来安装一个支持ftp上传的插件

1
npm install hexo-deployer-ftpsync --save

从互联网上的教程来看,ftp上传的插件,一般都是使用的这个插件,测试的时候发现很好用,大家尽管安装就可以。插件安装之后,需要在Hexo博客的配置文件之中,也就是博客根目录的_config.yml文件之中,找到如下代码

1
2
3
4
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''

如果你把Hexo博客文件发布到github,一般都懂的这个代码的意义,就是用来控制发布Hexo博客部署到哪里的文件。然后将其修改为

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博客的发布问题。不过测试的时候,估计是我使用的虚拟主机性能问题,部署之后发现虚拟主机出了问题,莫名其妙的总是删除掉HTML的格式文档,例如

1
index.html
1
404.html

咨询了空间上,说是触发了保护机制,更改之后就又没有了问题,事实上,从当前虚拟主机市场来看,性能和安全、成本的问题,是一个很难平衡的问题,如果是自己架设的ftp应该没有类似的问题,所以如果您使用的空间上的虚拟主机,建议使用FlashFXP直接上传Public文件夹里面的内容到虚拟主机就可以。