博客迁移到新浪SAE

前几天在看新浪SAE时,发现在应用设置下多了个独立域名设置功能,新浪提示:

SAE通过海外合作伙伴为您提供域名绑定。

绑定域名以后,通过独立域名请求将访问海外数据中心,产生的流量将是原二级域名(×××.sinaapp.com)流量的二倍,通过×××..sinaapp.com访问的流量不变。
建议您绑定独立域名后,静态资源仍通过×××.sinaapp.com访问。
如果您的域名已经备案,可以向saemail@sina.cn索取已备案域名绑定申请表,已备案域名绑定后将直接访问国内数据中心,流量费用和原二级域名一致。

也就是说在新浪SAE上,网站不用备案就可以使用,但是流量费用会比较贵。因为我的博客一直都放在国外,速度比较慢,所以决定迁移到新浪SAE上。

首先:安装了一个新浪SAE提供的wordpress到一个新的应用上,起名为jiadingqiang.sinaapp.com。最新的WordPress 3.2.1 for SAE比以前版本改进了很多,如:

  • 已内置urlrewrite规则,用户设置固定链接时只需要在控制板中设置一下即可,无需再修改appconfig(.htaccess)配置
  • 附件直接上传到Storage,支持图片附件的缩略图生成。
  • 相较于旧版WordPress for SAE,自本版本起完善邮件发送功能。仅需在WP-Mail-SMTP插件中正确设置SMTP服务器,即可使用邮件发送功能。
  • 删除主题、插件在线安装功能。由于SAE不支持本地代码目录写入,该功能暂时无法支持。
  • 已经集成了一些常用插件,可以在控制板中启用即可。

第二步:使用wordpress自带的导出功能,导出博客的文章,目录,评论信息。然后启用wordpress for  sae的WordPress Importer插件进行导入。这样博客的大部分内容就已经迁移到了sae下。

第三步:安装SAE_SDK_Windows_1.0.5。sae必须通过sdk才能完成文件的上传和下载。

第四步:下载网站的主题、插件以及上传的文件。文件都在wp-content目录下。下载之后把你需要的主题、插件以及文件通过sae sdk上传到新浪sae。

第五步:我的sae应用url为jiadingqiang.sinaapp.com,浏览jiadingqiang.sinaapp.com,你会 发现所有的图片均不能访问。图片地址在文章导入的时候被替换成了jiadingqiang.stor.sinaapp.com/uploads/。因为我 的图片的实际位置并不在storage上,而是在wp-content下面。所以需要把数据库中wp_posts表中的内容替换一下。SQL语句如 下:update wp_posts set post_content = replace(post_content, ‘jiadingqiang.stor.sinaapp.com/uploads/’, ’www.jiadingqiang.com/wp-content/uploads’)。

第六步:在控制台调整一些设置,比如WordPress 地址(URL),站点地址(URL),启用你需要的插件,启用你的模板等。这些比较简单,就不再赘述。

第七步:按照新浪sae的说明,完成域名解析。

请把域名CNAME到jp.cname.cloudbbs.org以完成域名绑定。

同时把指定的子域名通过A记录解析到185.184.242.236以完成域名身份认证。

最后需要说明的是这样迁移的网站速度会比较慢,而且很不稳定。我用监控宝监控了一下,发现经常会出现网站不能访问的问题。也就是说新浪sae本身是 没任何问题的,但是SAE是通过海外合作伙伴提供域名绑定的,所以,在域名解析这一块会很不稳定。尤其是在网络流量高峰期,线路很容易出问题。

为了解决这个问题,我用的是伪域名绑定的方法,通过.htaccess文件来实现的。方法如下:

首先你至少需要拥有一个linux系统的虚拟主机,vps当然更好

在.htaccess这个文件写入以下内容

RewriteEngine On
RewriteRule ^(.*)$ http://jiadingqiang.sinaapp.com/$1 [P]

其中Sinaapp的地址根据自己的实际情况修改,之后域名绑定并解析到那个虚拟主机就OK了。

PS: 经过几天的测试,我决定还是把博客换回原来空间了。生命在于折腾。(5-13)

贾定强微信

微信扫一下,或点击链接添加好友