阿里云ECS安装Memcached

■阿里云ECS安装Memcached

问题相当于How to Install Memcached on Ubuntu/CentOS.

Install Memcached

sudo apt-get install memcached
Installing php-pear (this is where we will get memcache module)
sudo apt-get install php-pear

Install memcache php extension using PECL

sudo pecl install memcache
If the PECL installation asks this question:
"Enable memcache session handler support? [yes]"
Just type enter in order to continue without issues. Last step: add your new memcache.so module to PHP memcache.ini file:
touch /etc/php5/conf.d/memcache.ini
echo "extension=memcache.so" >> /etc/php5/conf.d/memcache.ini
Start memcached
sudo service memcached start
Reload your PHP server to load the memcached extension If you use php-fpm:
sudo service php5-fpm reload
If you use Apache:
sudo service apache2 reload
**Test memcached**
ps aux | grep memcache
You should see something like this:
memcache 14289 0.0 0.0 38358 1172 ? Sl 06:15 0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Remember to configure memcached at system level from:
/etc/memcached.conf
  # ■状态查询
service memcached status

■配置php.ini

………….出错。。。。。

据说是php版本和memcache版本不一致


华丽的分割线后,重新开始

■通过apt-get或者yum导致版本不一致,php-fpm不能启动,使用二进制编译重新安装。

1.安装Memcached

可以去这里查看最新版本

wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

tar xzfv libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable 
sudo ./configure
sudo make
sudo make install
PS:默认安装到/usr/local/lib/目录
## 2.安装Libmemcached 可以去[这里](https://launchpad.net/libmemcached)查看最新版本
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar xzfv libmemcached-1.0.18.tar.gz 
cd libmemcached-1.0.18 

编译的时候需要传入安装目录和Memcached安装目录(默认会识别Memcached的默认安装目录,但我这样写更能让大家理解且具通用性)
sudo ./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached/bin/memcached
## 3.安装**Memcached**拓展,不是Memcache
可以去[这里](http://pecl.php.net/package/memcached)查看最新版本
wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar xzfv memcached-2.2.0.tgz 
cd memcached-2.2.0

#可以用whereis phpize确定路径
/a/apps/php-5.4.24/bin/phpize

#后面是PHP目录,libmemcached目录
sudo ./configure --enable-memcached --with-php-config=/a/apps/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached

sudo make
sudo make install
php.ini添加拓展
[memcached]
extension_dir="/a/apps/php-5.4.24/lib/php/extensions/no-debug-non-zts-20100525/"
extension=memcached.so
PS:快捷重启fpm: bash/etc/init.d/php-fpm restart # ■状态查询
service memcached status

其他常用命令
service memcached restart
service php5-fpm reload/restart
service php-fpm restart
service nginx reload
service nginx restart

■通过phpinfo查询

会出现memcache的信息!ok搞定。

■安装WP插件;MemcacheD Is Your Friend

1. 需要你的服务器支持,就是你的 PHP 需要安装上 Memcached 相关的扩展,注意 PHP 有两个扩展:PHP Memcache 扩展PHP Memcached 扩展两者仅仅相差一个字母 D,你可以通过phpinfo() 这个 PHP 函数来检测,你安装的是哪个扩展。

2. 根据不同的 PHP 扩展下载不同的 WordPress Memcached 插件(这个很重要):
PHP Memcache 扩展http://wordpress.org/extend/plugins/memcached/
PHP Memcached 扩展https://wordpress.org/plugins/memcached-is-your-friend/

3. 把下载的:object-cache.php 复制到 wp-content,注意不是 wp-content/plugins/

4. WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

#

■WordPress 内存缓存终极加速插件:Batcache

Batcache 工作原理

WordPress 启用 Memcached 这样的内存缓存之后,每次访问 WordPress 页面,都要从内存中获取多个缓存对象。

而 Batcache 主要就是解决这个问题,它是基于 Memcached 的 WordPress 缓存插件,它的工作原理是:把当前整个页面作为一个对象缓存到内存中,这样再次访问 WordPress 页面的时候,直接获从内存中获取这个对象即可,速度极快。

并且这个插件也是 WordPress.com 官方使用的加速插件之一。

Batcache 安装和使用

安装这个插件有点麻烦,不过只要按照以下步骤进行就可以:

  1. 安装好 Memcached(上文所述)
  2. 上传 advanced-cache.php/wp-content/ 目录。
  3. wp-config.php 添加以下代码激活 Batcache:
    define('WP_CACHE', true);
  4. 然后尝试多次载入页面查看源代码,应该在 之前可以看到一些 Batcache 状态代码。(未登录状态)
  5. 可以修改 advanced-cache.php 开始的一些代码来调整选项。
  6. 可选的上传 batcache.php 到你的 /wp-content/plugins/ 目录。
    下载 Batcachehttp://wordpress.org/extend/plugins/batcache/

运行后有类似代码

<!--
 generated 5 seconds ago
 generated in 0.445 seconds
 served from batcache in 0.003 seconds
 expires in 295 seconds
-->