【BAE基础版】玩转WordPress模板

伴随着“应用模板”功能的推出,BAE基础版实现了一次华丽的转身。

我们先看一下模板应用和普通应用(空应用)的区别:

(● 支持 – 不支持 ○ 即将支持)

分类 功能 空应用 模板应用
代码管理 打包上传 -
svn -
git -
扩展性 执行单元个数 1-100可调 1固定
内存 64MB-2GB可调 64MB-2GB可调
带宽 5Mb/s可扩展 5Mb/s固定
语言环境 php 5.4 由模板决定
php 5.5(含Zend Guard Loader) 由模板决定
java 7 由模板决定
java 8 由模板决定
python 2.7 由模板决定
node.js 4.2 由模板决定
自定义docker镜像 -
存储 本地文件持久化存储 -
手动备份线上代码 -
模板在线升级 -
模板在线安装插件 -

注意:

  • 使用模板创建的应用,其执行单元个数被限定为1,不支持分布式扩展。
  • 使用模板创建的应用,其本地文件不会因应用重启而被清空,持久化的目录为/home/bae/app。而空应用因支持多个执行单元,本地文件在应用重启时会被清空,因此应将需要持久化存储的文件写到BOS或者数据库中。
  • 使用模板创建的应用支持手动备份线上代码,备份目录为/home/bae/app。
  • 使用模板创建的应用支持多个代码版本的部署、删除和下载操作,部署失败可以手动回滚(重新部署)到之前的版本。空应用目前只能通过SVN/GIT部署最新版本,不支持回滚。

创建

下面我们开始创建一个WordPress应用。

进入“产品服务 / 应用引擎BAE-部署列表 / 添加部署”,选择WordPress模板创建新应用。

选择模板创建应用

配置

回到“产品服务 / 应用引擎BAE-部署列表”,等待应用创建成功后,点击域名进行WordPress的配置。

点击域名进行配置

WordPress需要配置数据库,如果没有可以在BAE基础版的扩展服务中创建一个新的数据库(目前BAE基础版可以创建5个免费MySQL数据库)。当然也可以使用百度RDS数据库,打开外网权限即可。

查看mysql数据库

WordPress配置数据库。

WP配置数据库

其他的WordPress的配置就看着配吧,应该都能轻松搞定,一会功夫就能开始把玩自己的WordPress站点了。

备份

通过模板创建的WordPress没有任何限制,也不用担心在线生成的数据丢失。

有喜欢的主题,装;
有喜欢的插件,装;
出了新的版本,装;
总之就是装装装,随便玩。

如果还是不放心,就去手动备份一下。回到“产品服务 / 应用引擎BAE-部署列表”,点击应用的“打包上传”,进入“发布设置”页面。

点击打包上传进行手动备份

在“代码管理”点击“添加备份”,稍后就会生成一个新的代码版本,直接打包了当时线上/home/bae/app目录下的数据,/home/bae/log下的日志文件不会打包。

添加备份

插件

WP-Mail-SMTP

WordPress模板预装了一个邮件发送的插件WP-Mail-SMTP,配置好后可以允许访客注册账号和找回账号。

首先,进入QQ邮件的设置页面,开启QQ的SMTP服务。

QQ-SMTP密码

然后在WordPress插件管理页面启用WP-Mail-SMTP。

启用WP-Mail-SMTP

然后点击WP-Mail-SMTP的Setting开始配置SMTP。

WP配置SMTP

最后,在设置页最下方输入一个邮箱测试一下,看看是否可以发送成功。

百度云插件

目前模板应用的磁盘空间有限,建议使用百度云插件,将多媒体数据(如图片、视频)上传到BOS。由于该插件还未官方化,用户须自行安装。

首先,进入应用的发布设置页面,对当前线上版本进行备份并下载代码包,下载成功后解压。

应用备份并下载

然后从github下载插件压缩包(压缩包里BaiduBce.phar就是bos的php sdk,插件代码都在wp-bae.php里)。将插件解压后复制到wp-content/plugins目录下。重新打包(zip压缩)代码并上传。

添加插件打包上传

再然后选择刚上传的版本进行部署,注意部署会先清理掉线上磁盘的数据,所以代码修改过程中尽量避免产生新的数据。

打包上传后部署

部署成功后,激活并配置插件,可参照插件下载页面的使用说明。

在“设置-百度云插件”里填写Bucket名、AK、SK、HOST(HOST用来确定bucket所在的region,e.g. bj.bcebos.com)。这里有一点要注意,建议为wordpress单独建一个bucket,然后把bucket设为公共读(即只有本人能上传,但所有人都能读取)。之后在媒体库里正常添加文件即可,所有添加的文件会按照月份存放(e.g. uploads/2015/12/img1.jpg),相同的目录结构会创建在BOS的bucket下。

最后

应用模板有其特殊性,针对的模板多会在线生成一些数据,并不适合放在无状态的容器中运行,因此针对模板类的应用,释放了无状态的限制(应用重启、休眠、开启等操作不再清理线上数据),但同时引入了新的限制,只允许部署一个实例(多个有状态的容器之间的数据同步是个问题,如果使用共享存储,则成本较高)。

 

百度BAE已经开始加快脚步,推陈出新,欢迎试用。

BAE产品首页:
https://bce.baidu.com/product/bae.html

BAE的官方论坛:
http://developer.baidu.com/forum/topic/list?boardId=66

此条目发表在 未分类 分类目录。将固定链接加入收藏夹。

发表评论