ubuntu 16 LTS 安装bitnami drupal stack+memcached 使用Amazon ElastiCache 的memcach作为缓存

应用场景与需求:

Enviroment:

  • amazon ec2 安装Ubuntu 16 LTS 安装了bitnami Drupal stack后,希望使用Amazon ElastiCache 的memcach作为缓存。

目的:memcach作为缓存,可以有效降低RDS或本地mysql数据库的负载,提高网站页面载入速度。

  • 需要的durpal module:memcache
  • php 5.6 需要安装memcache php  而 php7需要memcached php(注意memcache php和memcached php这两个是不一样的!!!)

这里以:已安装好bitnami Drupal stack后的环境为背景,在(ubuntu 16 lts )PHP7里加装memcached php的一系列安装如下步骤(的先后顺序)

请预先在ec2 安全组中开启11211端口,允许当前VPC内流入

#ssh 登入

#sudu su
取得root权限后开始步骤 (确定当前位置)

#cd ~

当前位置:/home/bitnami

第一步 (安装 libmemcached)

sudo apt-get install libevent-dev

wge thttps://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0...
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make
make install

第二步(安装php-memcached):

#转到与libmemcached-1.0.18文件夹同目录

 cd /home/bitnami

git clone https://github.com/php-memcached-dev/php-memcached.git
cd php-memcached/
git checkout php7
phpize
./configure --disable-memcached-sasl
make
make install

第三步:编辑php.ini 开启memcached.so

nano /opt/bitnami/php/etc/php.ini
extension=memcached.so

第四步:重启服务

第五步:下载drupal memcache 模组,启用它,然后会有错误提示(注意观察drupal的status report里关于mecache的报告)

第六步:编辑settings.php

 在最后追加如下信息(***是需要根据实际情况修改的部分)

//=====memcache settings begain=====

  $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
  $conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc';
  $conf['memcache_stampede_protection'] = TRUE;
  $conf['cache_default_class'] = 'MemCacheDrupal';

  // The 'cache_form' bin must be assigned to non-volatile storage.
  $conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

  // Don't bootstrap the database when serving pages from the cache.
  $conf['page_cache_without_database'] = TRUE;
  $conf['page_cache_invoke_hooks'] = FALSE;

$conf['memcache_key_prefix'] = ‘英文字母开头的6位以内标示比如mywebsitemcs1’;

$conf['memcache_servers'] = array(‘*******.cfg.usw1.cache.amazonaws.com:11211' => 'default');

//=====memcache settings End=====

注意:memcache_servers的memcache 服务的地址是amazon里给的包含****.cfg.****:11211配置终端节点!!!
包含.cfg.字符的配置终端节点!!
配置终端节点!!
配置终端节点!!
并不是具体某个memcache的终端节点,不要搞混淆了。

保存settings.php

第七步:检查drupal的status report里关于mecache的报告是否正常,同时检查drupal站点的php.info文件,memcache模组应为绿色正常态、同时php.info文件里,php memcached 的信息应该也是可以正常显示且查得到的。

最后:检查所关联的Amazon ElastiCache 的memcach instance 存取数据、连接数是否正常。

注意:这是ubuntu 16 ,php 7 的memcached php安装,不同于:fedora和centos,不要混淆。

分类: