appfog遭遇数据丢失

appfog提供了我到现在见到提供速度最快的免费云平台。我申请了appfog提供的位于新加坡的Amazon EC2的服务,并预装了wordpress和redis。不过问题是,经常莫名其妙的数据就全丢失了,这令人十分纠结。难道这么好的一个云平台就这么不靠谱?经过搜索,发现appfog空间存储是运行在内存中的,也就是说当你重启实例,没有用appfog的af工具保存为到源代码包中的磁盘数据就会全部丢失,不过数据库不受任何影响。

知道了这一点,果断有办法了。使用php全站打包工具将运行中的全站代码打包下载,并使用af工具更新源代码包,无论如何重启实例,现在都不会出问题了。长久之计,是建立一套自动备份恢复工具。这里有两个思路,其一是使用cron定时任务将php全站备份再交由其他主机使用af工具更新源代码,其二是用空间自带的数据库(mysql和redis)将所有更改全部捕获,并存储。如果空间重启数据丢失,就自动恢复。第一种较为传统,第二种则更方便。找时间完成这个备份系统。

使用telnet理解http

今天上计算机网络课,老师给讲解http协议。在最后演示的时候,使用telnet连接http服务的端口,并敲入http请求,看到了http服务返回的信息。不得不说这么一弄确实让我对http的理解又深了一层,对http基于tcp有了深刻的认识。捎带着对telnet的认识也清晰了,它就是在一个tcp连接下透明传输字节流的工具。上课时老师只写了Request line,没写其他的http头,服务器一直返回4xx,5xx错误,我回到宿舍亲自试了一遍,终于找到了原因,必须附加HOST头,不然无法请求成功。下面就贴出使用telnet发送的手写http请求(本地127.0.0.1的apache http服务)和服务器返回的信息:

阅读更多