部署到自己服务器

我服务器环境是centos7+Apache,只需要将编译好的静态文件上传至Apache服务的根目录下,即算完成。我们可以借助ftp来实现。

主角登场#

安装 hexo-deployer-ftpsynct

npm install hexo-deployer-ftpsync --save

修改配置:

1
2
3
4
5
6
7
8
9
10
deploy:
type: ftpsync
host: <host>
user: <user>
pass: <password>
remote: [remote]
port: [port]
ignore: [ignore]
connections: [connections]
verbose: [true|false]

参数 描述 默认值
host 远程主机的地址
user 使用者名称
pass 密码
remote 远程主机根目录 /
port 端口 21
ignore 忽略的文件或目录
connections 使用的连接数 1
verbose 显示调试信息 false

在_config.yml里面添加配置,然后执行hexo clean && hexo g -d 便可以将编译后的静态文件提交到git服务器。

部署到服务器#

以我个人配置为例:

1
2
3
4
5
6
7
8
9
type: ftpsync
host: 47.104.188.184
user: userName
pass: ***********
remote: /home/ftpUpload/doc
port: 21
ignore:
connections:
verbose: false

执行hexo clear && hexo g -d,系统会自动的将public文件夹里的内容提交到配置好目录。

FTP部署可能出现的问题:
您可能需要预先通过其他方式将所有文件上传到远程主机中。否则初次使用ftpsync插件就可能出现报错。另外,由于FTP协议的特征,它每传送一个文件就需要一次握手,相对速度较慢。

我使用的是阿里云服务器,需要安装ftp,如果你也需要,请点击这里

我需要开放21端口:
iptables -A INPUT -ptcp --dport 21 -j ACCEPT,如果你不确认是否一打开21端口,可以通过netstat -anp查看。

值得注意的一个地方:配置文件里面的host只需要填写ip,不需要携带协议名称。刚开始,一直提交不成功,知道吧协议名称去掉,呜呜呜。。。