目录
在阿里云暂住一个月后,码农场顺利搬家到BAE3.0。在这里做个记录,以后可能还有搬进搬出的可能。
搬家的好处
降低托管成本
阿里云单月55元,包年500元,平均每天1.37元。BAE3.0同等配置每天0.7元。
BAE3.0的计费采用执行单元套餐+拓展服务计费的模式(官方文档)。对于一个Wordpress应用来讲,免费配额内的MySql拓展服务够用,因此成本仅仅来自执行单元的费用。
BAE计费表:
BAE3.0统一按使用的执行单元套餐计费,计费公式:
费用=套餐单价*使用时长
执行单元套餐 套餐名称 内存(单位:MB) 磁盘(单位:GB) 单价(单位:元/天) 套餐A 64 2 0.1 套餐B 128 2 0.2 套餐C 256 2 0.4 套餐D 512 2 0.7 套餐E 1024 2 1.3 特别说明:
1.因BAE3.0在底层采用“轻量虚拟机技术”,为资源独享型PaaS。固计费指标为您当前占用的执行单元,不论流量大小。
2.不同配置的执行单元套餐能力评估可参考256M执行单元压测数据。可根据实际需求选择合适的套餐。
我选择了套餐B,获得了内存 128MB,硬盘 2GB,每天成本0.2元,远远低于阿里的1.37。就算将内存升级到256MB,每天也才4毛钱。
安全
BAE号称Paas,完全不同于传统的VPS,用户无法触及操作系统。即使网站出了漏洞,也顶多危及数据库,不会造成被挂马、删代码的悲剧。
操作便捷
阿里或其他VPS上的CentOS的确强大,但是也带来了复杂性。我需要记忆一些复杂的命令去备份、还原数据;需要复杂的操作来升级nginx和mysql等。BAE上的服务底层不需要我操心,这让我很省心。
搬家前的准备
新建BAE应用
确保开启了Mysql拓展服务,确保可以用SVN检出第一个版本。
备案号
BAE的独立域名绑定需要预先备案。
WordPress程序
将原博客的Wordpress程序下载下来备用。
开始搬家
修改wp-config.php:
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'xxxxxxxxxxxxxxxxxxxxx'); /** MySQL数据库用户名 */ define('DB_USER', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'); /** MySQL数据库密码 */ define('DB_PASSWORD', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); /** MySQL主机 */ define('DB_HOST', 'sqld.duapp.com:4050');
上面的xxxxxx都可以在MySQL数据库管理页面找到。
BAE上的Wordpress伪静态
将程序复制到检出的第一版代码中,先不急着提交,修改app.conf以实现BAE上的Wordpress伪静态:
handlers: - expire : .jpg modify 10 years - expire : .swf modify 10 years - expire : .png modify 10 years - expire : .gif modify 10 years - expire : .ico modify 10 years - url : (.*)\.css$ script : $1.css - url : (.*)\.js$ script : $1.js - url : (.*)\.jpg$ script : $1.jpg - url : (.*)\.gif$ script : $1.gif - url : (.*)\.png$ script : $1.png - url : (.*)\.jpeg$ script : $1.jpeg - url : (.*)\.xml$ script : $1.php - url : /wp\-admin/ script : /wp-admin/index.php - url : (.*)/dialogs/(.*) script : $1/dialogs/$2 - url : (.*) script : /index.php
然后提交。
ps:新安装WordPress之前请不要使用app.conf,可能会导致:
http://xxxx.duapp.com/wp-admin/install.php 的网页生成了 过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决该问题。如果 不能解决,可能是服务器配置有问题,而不是您的 计算机有问题。
因为install.php 脚本位于 wp-admin ,而此伪静态规则为了保护wp-admin目录,对目录下所有脚本做了重定向。
当你在BAE 3.0 上安装完WordPress之后,可以放心使用,既可以实现伪静态,又可以保护网站安全。
迁移原Blog数据库
用phpMyadmin导出,有几处需要修改。
搜索下列字样(如果有的话),然后删除这些行。
*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT SET COLLATION_CONNECTION=@OLD_COLLATION_CO CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT
这是我反复导入失败得出的经验之谈。
然后压缩成zip,上传到百度云储存。接着从数据库导入界面选中zip,开始导入数据。
如果仍然导入失败,请根据这个界面的提示修改sql脚本,我就是在这个地方修改了好几遍。最诡异的一次是一行 INSERT INTO `wp_posts` 莫名其妙导致失败。可能是某字段含有非法字符吧,最后只有删掉了这行里面的这个字段,导入成功后再手工补回来。这个完全靠自己灵活处理了,必要的时候在导出之前选择单行模式,方便排错:
绑定自定义域名
功能入口在“发布设置”里面,需要提前备案。
修改DNS解析
在DNS解析提供商处删除或停用原来的解析,添加一行CNAME记录,指向类似于 hankcs.duapp.com 的默认域名。然后试着ping 一下,确保解析生效:
接下来 enjoy it!
博主怎么备案的
阿里云
博主,对BAE上装HDwiki或者mediawiki有没有研究过?我在bae上装这两个系统都不成功,HDwiki直接安装的 时候就连不上数据库,而mediawiki能完成所有安装配置,并且两款系统在初始安装环境检查环节都是以绝对优势通过的,但是最后访问主页的时候确还是数据库出问题:
A database query error has occurred. This may indicate a bug in the software.
•Function: LCStoreDB::set
•Error: 34952 unsupport SQL (sqld.duapp.com:4050)
博主帮我初步诊断下是BAE的问题还是我选的系统问题:http://fobdict.duapp.com,万分感谢!!
抱歉,没有研究过,看起来是有些SQL权限BAE不给。
谢谢。
博主,我要疯了,为什么数据库导入后,文章,评论,配置等等都没有还原成功呢?但是若通过wordpress importer导入xml文件,文章出现了,但是这种方式无法还原配置,解决不了问题。博主救救我吧。
你确定数据库导入成功了吗?先清空,后导入,看看BAE有没有报错,最后去phpMyAdmin检查一下每个表行数对不对得上。
谢谢博主,再问下:数据库导入,主题导入,插件安装,伪静态设置有先后顺序吗?
数据库放最前面就行了
博主,你好!我有几个问题想问你。1.使用bae时,如何安装已经在本地配置好的主题,是wp后台以压缩包形式安装,还是直接将主题文件通过TortoiseSVN上传到服务器,再在后台安装?2.图片文件该如何上传才不会在重启主机时丢失,博主您是用新浪的图床吧。3.为何使用更改固定链接和使用伪静态后,会出现404呢?
1、SVN 2、我在用图床,你可以尝试可牛云等等 3、参考【BAE上的Wordpress伪静态】一节修改配置文件
你好,请问下为什么导入数据库时会显示 错误
//错误
SQL 查询:
— — 转存表中的数据 `wp_commentmeta` — INSERT INTO `wp_commentmeta` (`meta_id`, `comment_id`, `meta_key`, `meta_value`) VALUES (9, 6, ‘akismet_result’, ‘false’), (10, 6, ‘akismet_history’, ‘a:4:{s:4:"time";d:1393503845.0341671;s:7:"message";s:28:"Akismet cleared this comment";s:5:"event";s:9:"check-ham";s:4:"user";s:4:"sell";}’), (11, 6, ‘akismet_as_submitted’, ‘a:64:{s:15:"comment_post_ID";i:1793;s:14:"comment_author";s:3:"Dan";s:20:"comment_author_email";s:19:"ghostpool@gmail.com";s:18:"comment_author_url";s:24:"http://sell.wpengine.com";s:15:"comment_content";s:426:"Seamlessly reintermediate client-based scenarios rather than equity invested ideas. Progressively maintain high-quality portals before multidisciplinary methods of empowerment. Uniquely productize world-class ROI after cooperative "outside the box" thinking. Energistically reconceptualize timely technology with resource maximizing technology. Rapidiously restore revolutionary testing procedures vis-a-vis opti[…]
MySQL 返回:文档
#1062 – Duplicate entry ‘9’ for key ‘PRIMARY’ //
是什么原因呢?
重复主键,先清空再导入
可是清空后导入,会显示 #34952 unsupport SQL ,还是不行
导出的时候版本过高或者格式不对吧
不过文章很好,大赞
伤过心,坚决不用 BAE
我明白原因在哪里了。我按照你上面说的修改了修改app.conf。换回原理的修改app.conf后正常了。
你好。我的上传后打不开安装页面,显示:http://xxxx.duapp.com/wp-admin/install.php 的网页生成了 过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决该问题。如果 不能解决,可能是服务器配置有问题,而不是您的 计算机有问题。
这是什么原因?
我也不清楚,请参考http://jingyan.baidu.com/article/597035521f14ec8fc007402d.html
请问安装之前要做什么改动吗?
不需要,跟普通主机一样
thinks
现在BAE3.0可以安装原版WordPress了吗
可以
BAE 3.0的wordpress支持生成sitemap了吗?或者说是远程安装插件?
支持,比如http://www.hankcs.com/sitemap.xml
BAE3.0有本地写权限了