放牧代码和思想
专注自然语言处理、机器学习算法
    愛しさ 優しさ すべて投げ出してもいい

BAE3.0 WordPress 搬家指南

目录

阿里云暂住一个月后,码农场顺利搬家到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!

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » BAE3.0 WordPress 搬家指南

评论 27

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #13

    博主怎么备案的

    李明杰9年前 (2015-03-01)回复
  2. #12

    博主,对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,万分感谢!!

    /cy 粪豆·白水心/cy10年前 (2014-10-12)回复
    • 抱歉,没有研究过,看起来是有些SQL权限BAE不给。

      hankcs10年前 (2014-10-13)回复
      • 谢谢。

        /cy 粪豆·白水心/cy9年前 (2014-11-15)回复
  3. #11

    博主,我要疯了,为什么数据库导入后,文章,评论,配置等等都没有还原成功呢?但是若通过wordpress importer导入xml文件,文章出现了,但是这种方式无法还原配置,解决不了问题。博主救救我吧。

    a62255199310年前 (2014-07-10)回复
    • 你确定数据库导入成功了吗?先清空,后导入,看看BAE有没有报错,最后去phpMyAdmin检查一下每个表行数对不对得上。

      hankcs10年前 (2014-07-10)回复
  4. #10

    谢谢博主,再问下:数据库导入,主题导入,插件安装,伪静态设置有先后顺序吗?

    a62255199310年前 (2014-07-09)回复
    • 数据库放最前面就行了

      hankcs10年前 (2014-07-09)回复
  5. #9

    博主,你好!我有几个问题想问你。1.使用bae时,如何安装已经在本地配置好的主题,是wp后台以压缩包形式安装,还是直接将主题文件通过TortoiseSVN上传到服务器,再在后台安装?2.图片文件该如何上传才不会在重启主机时丢失,博主您是用新浪的图床吧。3.为何使用更改固定链接和使用伪静态后,会出现404呢?

    a62255199310年前 (2014-07-09)回复
    • 1、SVN 2、我在用图床,你可以尝试可牛云等等 3、参考【BAE上的Wordpress伪静态】一节修改配置文件

      hankcs10年前 (2014-07-09)回复
  6. #8

    你好,请问下为什么导入数据库时会显示 错误
    //错误
    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’ //

    是什么原因呢?

    121210年前 (2014-07-07)回复
    • 重复主键,先清空再导入

      hankcs10年前 (2014-07-07)回复
      • 可是清空后导入,会显示 #34952 unsupport SQL ,还是不行

        121210年前 (2014-07-07)回复
        • 导出的时候版本过高或者格式不对吧

          hankcs10年前 (2014-07-07)回复
  7. #7

    不过文章很好,大赞

    袁源_Vivian10年前 (2014-05-23)回复
  8. #6

    伤过心,坚决不用 BAE

    袁源_Vivian10年前 (2014-05-23)回复
  9. #5

    我明白原因在哪里了。我按照你上面说的修改了修改app.conf。换回原理的修改app.conf后正常了。

    click10年前 (2014-02-22)回复
  10. #4

    你好。我的上传后打不开安装页面,显示:http://xxxx.duapp.com/wp-admin/install.php 的网页生成了 过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决该问题。如果 不能解决,可能是服务器配置有问题,而不是您的 计算机有问题。
    这是什么原因?

    click10年前 (2014-02-22)回复
  11. #3

    请问安装之前要做什么改动吗?

    click10年前 (2014-02-21)回复
    • 不需要,跟普通主机一样

      hankcs10年前 (2014-02-21)回复
      • thinks

        click10年前 (2014-02-21)回复
  12. #2

    现在BAE3.0可以安装原版WordPress了吗

    click10年前 (2014-02-21)回复
  13. #1

    BAE 3.0的wordpress支持生成sitemap了吗?或者说是远程安装插件?

    wet2_cn10年前 (2014-02-15)回复

我的作品

HanLP自然语言处理包《自然语言处理入门》