注意:如果你不会科学上网,请自行PASS掉这篇低级教程,如果你不知道Hexo是啥(我想能点进来应该不会不知道吧==.)也请你PASS掉,如果你按照我的教程没有成功或出现问题,也请PASS或者在评论下方留下你的问题亦或者打赏博主100R+QQ.
环境
本次教程环境使用的是debian9 理论而言centos6也可以,主要是需要安装epel,但是在debian这步过程中我pass掉了。
更新
sudo apt-get update
sudo apt-get install build-essential libssl-dev
安装git
apt-get install git-core
安装node.js
这里推荐安装node的管理工具nvm
1.curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash(安装好断开ssh重新连接进行第二步)
2.nvm install v6.9.5(此处安装6.9.5)
如果你无法curl 请先安装 apt-get install curl
安装Dropbox
32位:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
64位:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
然后,从新建的 .dropbox-dist 文件夹运行 Dropbox 守护程序.
~/.dropbox-dist/dropboxd
输入后会弹出一个连接需要你的Dropbox与Linux主机连接(此处需要科学上网)
配置Dropbox
wget https://linux.dropbox.com/packages/dropbox.py
更改权限:
chmod +x ./dropbox.py
启动Dropbox:
./dropbox.py start
加入自启动:
./dropbox.py autostart
关闭局域网广播:
./dropbox.py lansync n
设置同步列表,把不需要同步的文件夹加入到排除列表,按照你的实际情况更改:
./dropbox.py exclude add ~/Dropbox/这/
./dropbox.py exclude add ~/Dropbox/里/
./dropbox.py exclude add ~/Dropbox/是/
./dropbox.py exclude add ~/Dropbox/不/
./dropbox.py exclude add ~/Dropbox/同/
./dropbox.py exclude add ~/Dropbox/步/
./dropbox.py exclude add ~/Dropbox/文/
./dropbox.py exclude add ~/Dropbox/件/
./dropbox.py exclude add ~/Dropbox/夹/
./dropbox.py exclude add ~/Dropbox/名/
Hexo安装配置
cd /Dropbox #root账户下
mkdir Hexo #建立文件夹
cd Hexo
npm install -g hexo-cli
修改权限
chmod -R 755 /root/Dropbox/Hexo/public
chown www:www /root/Dropbox/Hexo/public
chmod +x /root/Dropbox /root/Dropbox/Hexo
使用incrond监测文件变化
安装 incrond
apt-get install incron
加入开机自启动
service incrond start
chkconfig incrond on
incrond 监测文件夹配置
incrond 和 crond 以及 crontab 一样,也可以用 incrontab 来配置,不过它默认是用 vim 编辑,需要改一下(因为VPS没有装GUI界面,VIM默认是有GUI的):
echo 'editor = vi' >> /etc/incron.conf
#修改incrond默认编辑器为vi
这时就可以用 incrontab -e
来编辑配置了,命令输入
rm -f /etc/incron.allow
incrontab -e
会自动用 Vi 打开一个文件,在其中添加:
/root/Dropbox/Hexo/source/_posts/ IN_MOVE,IN_MODIFY,IN_CREATE,IN_DELETE /root/runhexo.bash
/root/Dropbox/Hexo/theme/ IN_MOVE,IN_MODIFY,IN_CREATE,IN_DELETE /root/runhexo.bash
说明:/root/runhexo.bash
监测到动作之后执行的程序,即hexo自动生成html
监测的动作可以用:
IN_ACCESS,即文件被访问
IN_MODIFY,文件被 write
IN_ATTRIB,文件属性被修改,如 chmod、chown、touch 等
IN_CLOSE_WRITE,可写文件被 close
IN_CLOSE_NOWRITE,不可写文件被 close
IN_OPEN,文件被 open
IN_MOVED_FROM,文件被移走,如 mv
IN_MOVED_TO,文件被移来,如 mv、cp
IN_CREATE,创建新文件
IN_DELETE,文件被删除,如 rm
IN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己
IN_UNMOUNT,宿主文件系统被 umount
IN_CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
IN_MOVE,文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)
注:上面所说的文件也包括目录。
后台运行HEXO
首先需要你在HEXO的安装目录中新建名为app.js(看自己喜好命名)
编辑一下内容保存
var spawn = require('child_process').spawn;
free = spawn('hexo', ['server', '-p 4000']);/* 其实就是等于执行hexo server -p 4000*/
free.stdout.on('data', function (data) {
console.log('standard output:\n' + data);
});
free.stderr.on('data', function (data) {
console.log('standard error output:\n' + data);
});
free.on('exit', function (code, signal) {
console.log('child process eixt ,exit:' + code);
});
其中4000为hexo的运行端口,可自己修改。
安装PM2
安装PM2保持app.js的运行。
npm install pm2
使用pm2运行app.js
pm2 start app.js #运行app.js
pm2 stop app.js #暂停运行app.js
安装Nginx
apt-get install nginx
配置nginx
首先找到你的nginx配置文件,一般为nginx.conf
修改成如下配置:
server
{
listen 80;
server_name 此处填写域名; #(你的域名)
root /var/www/xxx; #(HEXO所在目录)
location / {
client_max_body_size 35m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2370; #(你的端口)
}
}
nginx -s reload
重启nginx
此篇文章#教程#VPS+Dropbox+Nginx实现Hexo同步博文由空白网络创作,转载请标注来源链接!#教程#VPS+Dropbox+Nginx实现Hexo同步博文https://www.aihoom.com/1272.html 如果您觉得我的网站笔记内容着实帮助到了你,请自行备份~