博客迁移到Hexo

自从博客托管到OpenShift以来,一直运行非常稳定。部署了几个自动备份和维护脚本之后,几乎不需要人工干预了。从2012年8月份到现在,算起来竟然有5年了!而这几年网站的在线率一直在99.9%,我甚至已经忘记上次收到Uptimerobot的当机提醒是什么时候了,这也侧面说明了RedHat的技术可靠性及PaaS的魅力所在。
久而久之,我已经被这种可靠稳定的服务惯坏了,直到措不及防地收到OpenShift v2停止服务的提醒邮件。

Valued OpenShift Online user,
This is your final notice that the sunset of the previous generation OpenShift Online 2 platform will be September 30, 2017. After tomorrow, applications created in Free and Bronze accounts in Red Hat OpenShift Online 2 will no longer be available.

我不记得当初OpenShift是否承诺过Free for LifeTime,但是要下线已经是个事实了。摆在眼前的首要任务是在正式下线前将博客托管到其他地方。然而我实在想不出有比OpenShift更好的服务了,因为他提供用户体验实在是太简单、太安逸了:PHP、MySQL等都是一键安装和配置,配置个Blog只是几分钟的事情,如果想要复杂的功能直接SSH登陆操作即可…我突然意识到将Typecho迁移到其他地方还要找一个靠谱的VPS供应商、安装和配置PHPMySQL,配置防火墙,进行各种安全设置和优化、应对随时可能到来的网络攻击和硬盘数据损坏的风险…然而要前期做这么多事情,我需要的仅仅是个写博客的地方而已!

阅读更多

在OpenShift应用平台上编译和部署Redis

OpenShift官方的Application没有支持Redis,但是由于OpenShift开放了SSH权限,并且所有类型的Application都有编译环境,所以我们可以将带源码的软件编译和部署到OpenShift。也就是说,只要有充分的想象力,就可以将任何喜欢的应用部署到OpenShift,这样我们就可以让OpenShift支持Redis了。

编译Redis

Redis的编译过程非常简单,先通过SSH登陆到OpenShift,然后几条命令就搞定了:

1
2
3
4
5
6
7
8
9
10
11
# 切换到临时目录
cd /tmp
# 下载源代码
wget http://download.redis.io/releases/redis-2.8.9.tar.gz
# 解压文件
tar -xzvf redis-2.8.9.tar.gz
# 进入工作目录
cd redis-2.8.9
# 编译
make
# 等待1分钟左右编译完成

933744161.png

阅读更多

用Typecho Redis Cache来为Typecho提供全站超高速缓存

前几天在免费资源部落上看到一篇文章用Redis缓存来给WordPress站点加速-适用于Apache和Nginx。正好我用的Typecho博客没有相应的缓存插件,于是决定写一个Typecho的Redis缓存。

经过一下午的折腾之后,Typecho的Redis缓存前端终于完成了,代码托管在github,压缩包下载:Typecho Redis Cache

部署Typecho Redis Cache

部署条件

在将部署Typecho Redis Cache之前,请确定服务器满足以下几个条件:

  • PHP >= 5.3
阅读更多

OpenShift 升级导致网站503错误

OpenShift 昨天对系统进行了一次升级,但是这次升级似乎不太顺利。印象中前几次升级都是一两个小时搞定的,但这次十几个小时过去了,访问网站依然是503 Service Temporarily Unavailable错误。

site down

阅读更多

利用phpCloud代发邮件解决WordPress不能发送邮件的问题

由于担心用户群发垃圾邮件,有些空间服务商禁用了php的mail()函数,甚至连gmail IMAP常用的465端口也禁用了,导致SMTP方式也不能发送邮件。

这种限制在PaaS中特别常见,比如cloudControl禁用了mail()函数,OpenShift禁用了SMTP端口。虽然这种方式能非常有效地阻止垃圾邮件发送者,但也给普通用户带来了一些不便,比如WordPress的密码找回功能和留言通知都不能使用。

解决这个问题的一个简单有效的方法就是用别的服务器来代发邮件。简单地说,就是当WordPress有一个发送邮件的请求时,将这个请求的内容(发件人、收件人等)POST到另一个支持发送邮件的服务器,转发服务器收到这个请求后将邮件发出,并返回发送结果。示意图如下:

net connection

这种方法实现需要同时在WordPress服务器和转发服务器上做一些更改。

阅读更多

自动备份OpenShift数据到Dropbox(1)—Dropbox Uploader的配置

OpenShift开通了SSH权限,并且用户可以设置cron任务,通过一定的配置我们可以让OpenShift自动备份网站数据(数据库,文件等)到Dropbox. 本文包含详细的配置步骤,供不太熟悉Linux Shell 的用户参考。

开始之前当然是申请OpenShift和Dropbox账户,并创建一个OpenShift 应用。假设这个步骤已经完成,我们就可以开始了。

SSH登录OpenShift应用,并依次输入以下命令在repo目录下创建一个文件夹dropbox,我们将在这里放置Dropbox 应用。

1
2
3
4
5
#请将{appname}换成你的app名称,比如我的app名称是apps,那就是 cd apps 
cd {appname}
cd repo
mkdir dropbox
cd dropbox
阅读更多