Linux-- memcached sasl 安装

服务端

# saslauthd -v
saslauthd 2.1.23
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

# vi /etc/sysconfig/saslauthd
MECH=shadow

# /etc/init.d/saslauthd restart

# ps aux | grep saslauthd

# /etc/init.d/saslauthd start

# chkconfig saslauthd on

# /usr/sbin/testsaslauthd -u root -p 123
0: OK "Success."
testsaslauthd出现0: NO "authentication failed"的解决方法

# setsebool -P allow_saslauthd_read_shadow 1

/usr/sbin/saslpasswd2 -a memcached -c root
Password:   
Again (for verification): 

4. 2 安装libevent
# tar -zxvf libevent-2.0.12-stable.tar.gz
# cd libevent-2.0.12-stable
# ./configure --prefix=/usr/local/libevent
# make
# make install

4. 3 安装memcached Server
# tar -zxvf memcached-1.4.6.tar.gz  
# cd memcached-1.4.6  
# ./configure --enable-sasl --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make
make install
   
启动memcached服务器,启用SASL验证功能,在启动时需要加-S(大写S)参数

# /usr/local/memcached/bin/memcached -d -S -m 64 -u root -l 192.168.1.10 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid

# ps –ef|grep memcached

 

启动命令参数如下表

启动方式

-d  以守护程序(daemon)方式运行

-u root  指定用户,如果当前为 root ,需要使用此参数指定用户

-P /tmp/a.pid  保存PID到指定文件

内存设置
-m 1024  数据内存数量,不包含memcached本身占用,单位为 MB

-M  内存不够时禁止LRU,报错

-n 48  初始chunk=key+suffix+value+32结构体,默认48字节

-f 1.25 增长因子,默认1.25

-L  启用大内存页,可以降低内存浪费,改进性能

安全设置
-S  启用sasl安全验证功能,开启后,客户端需要提供用户名密码方能访问memcached

连接设置
-l 127.0.0.1 监听的 IP 地址,本机可以不设置此参数

-p 11211  TCP端口,默认为11211,可以不设置

-U 11211 UDP端口,默认为11211,0为关闭

并发设置
-c 1024 最大并发连接数,默认1024,最好是200

-t 4 线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用

-R 20 每个event连接最大并发数,默认20

-C 禁用CAS命令(可以禁止版本计数,减少开销)


客户端
2. 安装SASL相关环境
# yum install cyrus-sasl-plain cyrus-sasl  cyrus-sasl-devel  cyrus-sasl-lib

3. 安装源码包libmemcached
# wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz 
# tar zxvf libmemcached-1.0.16.tar.gz
# cd libmemcached-1.0.16
# ./configure --prefix=/usr/local/libmemcached --enable-sasl
# make
# make install

4. 安装源码包memcached
安装MEMCACHED前需要确认是否有zlib-devel
# yum install zlib-devel
# wget http://pecl.php.net/get/memcached-2.1.0.tgz
# tar zxvf memcached-2.1.0.tgz
# cd memcached-2.1.0
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-config-file-path=/usr/local/php/etc -with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl
# make
# make install

5. 修改php.ini文件
/usr/local/php/etc/php.ini
增加
extension=memcached.so
memcached.use_sasl = 1

6. 设置帐号密码进行鉴权
memcached setSaslAuthData('root', '123'); //设置帐号密码进行鉴权

参考 : http://my.oschina.net/maczhao/blog/369794

你可能感兴趣的:(Linux-- memcached sasl 安装)