php使用memcache共享存储session(一)
当使用nginx+keepalived做了负载均衡后,就要考虑后端php的session用那种方式来保存同步,不然很容易出现数据混乱,那样的话负载均衡做起来就没有什么用了.
系统:centos 5.9
需要的软件包:memcached-1.4.15.tar.gz
memcache-2.2.7.tgz
环境:客户端a和b
服务端c
1.安装准备
wget http://pecl.php.net/get/memcache-2.2.7.tgz
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
yum install libevent-devel -y
2.安装memcache服务端
在c服务器上进行安装:
tar zxf memcached-1.4.15.tar.gz && cd memcached-1.4.15
./configure --prefix=/usr/local/memcache
make && make install
复制源码目录下scripts/memcached.sysv到/etc/init.d/memcached,需要修改/etc/init.d/memcached如下行:
chown $USER /usr/local/memcache/bin/memcached
daemon /usr/local/memcache/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS
其实就是修改memcached所在路径.
chmod 755 /etc/init.d/memcached
chkconfig --add memcached
service memcached start
3.安装php-memcache
在a和b客户端上安装:
tar zxf memcache-2.2.7.tgz && cd memcache-2.2.7
phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
vi /etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=memcache.so
重启php-fpm和nginx,然后使用php -m|grep memcache查看memcache是否安装成功.
评论: