前言
常用的hexo都是使用github或者其他的代码托管平台, 如果你有一台自己的VPS,你想把hexo放到VPS上面, 可以使用hexo提供的其他的方法比如:Rsync,FTPSync等工具,甚至手动复制文件,我在尝试了这种方法之后, 发现并不好用,我已经习惯了放到github上面,我的方案是让VPS自己去github上面拉博客到自己的本地, 写一个定时脚本, 接下来就这么干
VPS安装配置git
VPS是ubuntu的系统, 接下来都是在root权限下的操作
安装git
1
apt-get install git
生成github的key
用你的github帐号生成key,最好是到.ssh文件夹下面执行下面的操作,如果在别的目录下执行, 生成的文件自己手动复制到.ssh下面好管理,如果没有.ssh文件,则手动建立一个1
2
3
4ssh-keygen -t rsa -C "your_email@youremail.com"
输入id_rsa
密码空, 回车
再回车key注册到github
使用sz id_rsa.pub, 将文件下到本地, 打开, 复制里面的内容到github- 配置全局github帐号
1
2git config --global user.name "Your Name"
git config --global user.email "your@email.com"
安装apache和nginx
1 | apt-get install apache2 |
首次git pull
建立/var/www/hexo文件夹, 从github拉取代码
1 | cd /var/www |
这样代码就拉下来了
apache+nginx部署hexo
apache设置
apache默认是监听的80端口, 我为了以后能监听多个端口, 不和nginx的80端口冲突,修改了监听的端口, 改成监听8888和9999
8888端口: 指向/var/www/html 这个是默认的路径
9999端口: 指向/var/www/hexo 我自己的hexo路径
我的apache版本是2.4.7
1.修改apaches.conf
设置路径
1 | cd /etc/apache2 |
2.修改ports.conf
设置端口监听
1 | cd /etc/apache2 |
3.修改000-default.conf
1 | cd /etc/apache2/sites-available |
配置nginx
1 | #删除默认的配置 |
启动和测试
启动apache2
1 | service apache restart |
启动nginx
1 | service nginx restart |
测试
浏览器中输入http://你的域名/
一个自动化脚本
我们在自己的电脑上写好了md, hexo d推送到github, VPS怎么去拉取github到本地
这里我想到写一个shell脚本, 每隔一段时间自动执行git pull操作
1 | cd /var/www |
脚本代码如下:
1 | #!/bin/bash |
定时执行脚本
只用crontab来定期执行脚本
我这里使用每隔4个小时执行脚本(我个人觉得4个小时差不多了, 毕竟不是时时刻刻写博客)
1 | crontab -e |