概要
memcached提供分布式缓存服务,能有效减轻数据库的查询压力。
memcached在服务器以及扩展中默认都是不支持用户名与密码,但可喜的是,我们可以通过sasl来提供用户名与密码验证。
为了实现这一点,在扩展与服务器安装过程中都需要启用sasl支持,具体操作见如下:
memcached扩展安装
- 安装sasl
yum install cyrus-sasl-lib.x86_64
yum install cyrus-sasl-devel.x86_64
- 安装libmemcached
我是直接从官网下载的,编译安装:
tar zxvf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure --prefix=/usr/local/libmemcached --enable-sasl
make
make install
- 安装memcached
wget http://pecl.php.net/get/memcached-2.1.0.tgz//我是直接从官网下的新版本
tar zxvf memcached-2.1.0.tgz
cd memcached-2.1.0
phpize./configure --with-php-config=/php-install-dir/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached/ --enable-memcached-sasl
make && make install
- 配置php.ini
extension=memcached.so
memcached.use_sasl = 1
别忘了重启服务器
安装memcached服务器
memcached从1.4.3版本开始,能支持SASL认证
需要在编译时,加上–enable-sasl选项
启动memcached时,增加-S的选项
./configure –prefix=%{datadir} –enable-sasl
/usr/local/bin/memcached -S -d -u nobody
https://code.google.com/p/memcached/wiki/SASLHowto
启动memcached服务器之前,先参见上述链接对memcached进程添加用户
Create a user for memcached.
saslpasswd2 -a memcached -c cacheuser
用法很简单,添加完用户后用-S正常启用memcached服务器就可以了。
问题记载
因为安装在虚拟机里,忘记设置时间,所以在安装的时候出现alcoal-1.0.4之类的没有找到,并且提醒你说是因为修改了xxx.m之类的configure文件,方法是touch那几个文件,再执行一下另外一个配置
http://blog.csdn.net/linuxsmallping/article/details/40399003
在另外一台之前安装成功,但没有安装sasl特性的机器上重新安装的时候,居然安装失败了。原来之前在安装的时候在configure的配置项中,本来就使用了enable-sasl,只是sasl的依赖库没有安装,所以没有报错,但也没有添加sasl特性成功,结果这次再重新编译的时候,因为使用了和之前一样的配置项,编译程序认为配置项没有改变也就没有重新配置与编译,也就是说新安装的sasl依赖库并没有被使用上,自然就安装失败了。因此,重新解压一次源代码,再重新走一次安装流程就可以成功了。