昨天blog页面打开突然变成空的了,post无法显示,但是tags和comments列表是正常的。这说明不是数据库连接的问题。我连上Windows Azure的管理页面看了一下,两台WebRole的机器昨天被重启了。Windows Azure的机器重启之后,系统会被重置,应用会重新部署。我在前面的post里说过,WordPress for SQL的plug-in有一个bug,以前我是通过手工上传更新后的文件解决的,并没有更新安装包。应用重新部署后,就的文件又回来了,bug就又出现了。
为了一劳永逸,我昨天重新做了安装包,用升级的方式更新了应用的部署。Windows Azure支持增量更新和完全更新,我用的是增量更新的方式,因为我只需要更新一点点代码。步骤如下:
- 在Windows Azure管理界面,选择对WebRole升级,上传新的安装包和配置文件。因为我不需要升级配置,因此我将Azure中已有的配置拷贝了一份,作为新的配置文件。这能保证新配置和原配置一摸一样。
- 选择升级之后,两个node会被先后升级。升级完成后,可能会出现HTTP 500。我想主要是因为应用被重新部署了,但是机器没有重启,状态有混淆。
- 分别重启两个node之后,一切就恢复正常了。
完全更新的方式稍有不同,它需要新建一个staging部署,将新的安装包和配置文件部署在staging中,测试完成之后切换production和staging。这种方式适合有重大代码和配置更新的情况。
现在,似乎通过页面来发布新post会有问题,而用Windows Live Writer就没问题,我也就懒得管页面发布到底是什么问题了。Windows Live这个品牌不会继续了,Live Writer怎么办呢?