叶雨梧桐BLOG

在VPS上搭建hexo博客(适用于64M小内存VPS)

发布时间:2015年3月4日 / 分类:VPS教程 / 吐槽

gt520_hexo.png

最近不太平,64mb.cn小站被人打,心情特不爽。想着恢复下备份的,但大部分都是优惠信息这种时效性的东西,索性作罢。后来刷微薄看到ghost这种静态博客,找了找这方面的相关信息,最后敲定使用Hexo。

在VPS上搭建有两种方案:
    1.在VPS上搭建完整的生产环境,使用Nginx反代VPS本地localhost实现访问。
    2.类似托管Github之上,仅需要Nginx作静态环境,本地生成静态文件后push。
综合以上,结合VPS的64mb小内存,决定使用第二种方案。

环境:VPS:debian6 mini 32bit 本地:Fedora 21 32bit(类似于Redhat、Centos)

1.本地配置git(这里linux为例,win和mac请自行谷哥&度娘)
1.1安装git

sudo apt-get install git #Debian、Ubuntu等
yum install git #fedora,Centos等

1.2设置git用户名

git config --global user.email "email@example.com"
git config --global user.name "username"

1.3生成sshkey

ssh-keygen -t rsa -C "email@example.com"#一路回车

复制/.ssh/id_rsa.pub里的内容到一边待用
2.在VPS上部署git和nginx
2.1部署nginx

wget http://blog.gt520.com/dl/64mb-debian.sh
chmod +x 64mb-debian.sh
./64mb-debian.sh dotdeb
./64mb-debian.sh system
./64mb-debian.sh dropbear 端口

执行上面的下载和脚本安装,最后一行是用dropbear替换SSH,"端口"换一个端口(这里端口最好是22)。执行完毕之后重启机器。
重启完后执行

./64mb-debian.sh nginx #安装nginx
./64mb-debian.sh site 64mb.cn #建立站点

添加之后在var/www下就会有看到域名为命名的网站目录,后面只需要上传数据到所在域名的文件夹下的public里就可以了。
2.2部署git

apt-get install git #安装git
adduser git --ingroup sudo #新建git用户

切换到git用户,进行一些初始化操作

su git
cd ~
mkdir .ssh && cd .ssh
touch authorized_keys
vi authorized_keys

把1.3复制的内容粘贴到authorized_keys里
测试,在终端中输入ssh git@你的域名,如果能够远程登陆,说明这一步没有问题
为静态内容新建仓库,接着上面的步骤

cd ~
mkdir blog.git && cd 64mb.git #这里为了好记设置仓库名为64mb,你也可以自定义
git init --bare

3.本地搭建好hexo,更改配置文件里的deploy选项

deploy:
  type: git
  message: update #可自定义名称,方便好记
  repo: git@64mb.cn:64mb.git #这里就是前边你所配置的仓库地址
  branch: master

运行hexo g ,hexo d,如果一切正常,静态文件已经被成功的push到了64mb的仓库里
4.博客同步仓库,修改Git hooks

su git
cd ~/64mb.git/hooks
touch post-receive
vi post-receive

复制进下面的脚本

#!/bin/bash -l
GIT_REPO=/home/git/64mb.git
TMP_GIT_CLONE=/tmp/64mb
PUBLIC_WWW=/var/www/64mb.cn/public
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

更改脚本权限和/var/www/blog权限

chmod +x post-receive
sudo chmod 775 -R /var/www/64mb.cn/public #这里如果报错的话将775改为777

以上即全部完成啦,这时在本地执行hexo g && hexo d 几秒就可以完成博客的更新
部署完后,重启VPS,发现真的是好省内存哦,毕竟仅用了nginx
hexo.png

参考资料(表示感谢):

1.http://blog.berry10086.com/Tech/deploy-hexo-to-vps/
2.http://www.laozuo.org/2032.html
3.http://www.liaoxuefeng.com/
4.hexo官方文档

标签:hexo

版权声明:除特殊注明外,均由叶雨梧桐原创,转载请保留文章出处;
本文链接:http://gt520.com/vps/239.html

已有 15 条评论
  1. aaa365 aaa365

    128M小内存 npm install -g hexo-cli 的时候直接就被系统kill掉进程了,有什么办法解决吗?openvz的vps,不能增加swap

    1. 额,你理解错了。npm这部分在你本地操作。线上vps只是一个上传展示网页的

  2. adduser git --ingroup sudo 新建账户后 su git 却不能 mkdir .ssh?请指教一二

    1. 原来是弄错路径了

  3. 受教了~不过有点麻烦~justwriting感觉可以玩玩,博主有空可以折腾玩玩~

    1. 享受折腾的过程,哈哈~~

  4. 64M真的只能做着玩玩,wp搭起来以后都没足够的空间施展

    1. 好厉害,wp我直接没成功过~,静态的还好点,占用资源少

  5. 64M,太小了吧!

    1. 玩玩可以,真正做站就免了吧

  6. ccc1924 ccc1924

    没有办法自动克隆文件到网站目录。怎么办?

    1. 看返回的错误,对照官方文档或者度娘

  7. 对于这个不懂,得请教了

  8. 不是界面的啊

    1. 写文章的时候是使用markdown语法,和界面的没啥差别阿,而且上传生成都是一键式的,很方便的

订阅叶雨梧桐BLOG RSS
分类
最新文章
最近回复
  • 梦青年: 我的网站下线了,你可以把我的友链去掉了,感谢多年的支持和关注~ 梦青年。
  • 便宜VPS: 已添加贵站链接,我站:https://www.vultrclub.com,站:便宜VPS
  • vultr: 朋友 交换链接吗
  • 罗小黑: py小白看不懂啊! Traceback (most recent call last): ...
  • 罗小黑: 安装出错,下面无法继续 >>> pip install MySQL-python Synt...
  • 一抹阳光: 学习了(ಡωಡ)
  • wu先生: 我来了。
  • 欣欣: 嗷呜 原来树莓派不是吃的
  • 繁华落尽: 我也是碰到了这种问题,求具体解决方案,谢谢
  • aaa365: 128M小内存 npm install -g hexo-cli 的时候直接就被系统kill掉进...
归档