CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcac
时间:2014-06-22 05:33 来源:linux.it.net.cn 作者:IT网
一、编译环境的准备
yum install gcc
yum install gcc-c++ libstdc++-devel
yum install zlib-devel
二、源码包准备
wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
三、安装与配置
1、安装libevent
tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr/local/libevent/
make && make install
ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
2、安装Memcached
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/
make && make install
3、启动Memcached
/usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid
4、为了方便管理,写个SHELL脚本。
# http://blog.phpha.com
# 以下内容摘自互联网
vi /etc/rc.d/init.d/memcached
#!/bin/sh
#
# memcached: MemCached Daemon
# chkconfig: - 90 25
# deion: MemCached Daemon
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#[ -r /etc/sysconfig/dund ] || exit 0
#. /etc/sysconfig/dund
#[ -z "$DUNDARGS" ] && exit 0
start()
{
echo -n $"Starting memcached: "
daemon $MEMCACHED -u daemon -d -m 64 -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid
echo
}
stop()
{
echo -n $"Shutting down memcached: "
killproc memcached
echo
}
MEMCACHED="/usr/local/memcached/bin/memcached"
[ -f $MEMCACHED ] || exit 1
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
5、添加Memcached开机启动
cd /etc/rc.d/init.d/
chmod 777 memcached
chkconfig --add memcached
chkconfig --level 235 memcached on
chkconfig --list | grep memcached
6、Memcached使用
service memcached start
service memcached stop
service memcached restart
四、PHP安装Memcache扩展(memcache与memcached扩展二选一即可,建议安装下面的memcached)
[root~] wget -c http://pecl.php.net/get/memcache-3.0.8.tgz
[root~] tar -zxvf memcache-3.0.8.tgz
[root~] cd memcache-3.0.8
[root~] /usr/local/php/bin/phpize
[root~] ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache --with-zlib-dir
[root~] make && make install
/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
[root~] vim /usr/local/php/etc/php.ini
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
session.save_handler = memcache
session.save_path = "tcp://127.0.0.100:11211"
[root~] service php-fpm reload
php5.5+版本的memcache扩展安装方法:
因为php5.5+版本内置了memcache扩展 所以无需下载第三方插件直接 执行如下操作即可
cd /usr/local/php/bin
./pecl install memcache
安装时会提示是否开启session支持,根据需要输入no 或者 yes,安装后路径如下:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
需要手动配置到php.ini中,增加如下内容,即表示启用memcache扩展:
extension=memcache.so
补充:PHP的Memcache扩展的安装后发现一个问题,SESSION会出现丢失,这可能是安装Memcached服务端的时候,防火墙没有添加11211端口,修改防火墙规则后,一切正常。
五、PHP memcached 扩展的安装(注意这里是memcached非memcache)
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 --with-memcached
make && make install
wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini
加上extension=memcached.so重起一下服务就可以了。
六、PHP项目分布式使用Memcache同步SESSION的几种方法
1、直接修改php.ini配置文件
session.save_handler = memcache
session.save_path = "tcp://127.0.0.100:11211"
2、利用目录下的 .htaccess 文件
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211"
3、项目中修改配置
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://127.0.0.100:11211");
上面只是一些简单的说明,一般来说做分布式是有服务器权限的,所以推荐第一种 (责任编辑:IT)
一、编译环境的准备 yum install gcc yum install gcc-c++ libstdc++-devel yum install zlib-devel 二、源码包准备 wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz 三、安装与配置 1、安装libevent tar zxvf libevent-1.4.14b-stable.tar.gz cd libevent-1.4.14b-stable ./configure --prefix=/usr/local/libevent/ make && make install ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2 2、安装Memcached tar zxvf memcached-1.4.15.tar.gz cd memcached-1.4.15 ./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/ make && make install 3、启动Memcached /usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid 4、为了方便管理,写个SHELL脚本。 # http://blog.phpha.com # 以下内容摘自互联网 vi /etc/rc.d/init.d/memcached #!/bin/sh # # memcached: MemCached Daemon # chkconfig: - 90 25 # deion: MemCached Daemon # Source function library. . /etc/rc.d/init.d/functions . /etc/sysconfig/network #[ ${NETWORKING} = "no" ] && exit 0 #[ -r /etc/sysconfig/dund ] || exit 0 #. /etc/sysconfig/dund #[ -z "$DUNDARGS" ] && exit 0 start() { echo -n $"Starting memcached: " daemon $MEMCACHED -u daemon -d -m 64 -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid echo } stop() { echo -n $"Shutting down memcached: " killproc memcached echo } MEMCACHED="/usr/local/memcached/bin/memcached" [ -f $MEMCACHED ] || exit 1 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0 5、添加Memcached开机启动 cd /etc/rc.d/init.d/ chmod 777 memcached chkconfig --add memcached chkconfig --level 235 memcached on chkconfig --list | grep memcached 6、Memcached使用 service memcached start service memcached stop service memcached restart 四、PHP安装Memcache扩展(memcache与memcached扩展二选一即可,建议安装下面的memcached) [root~] wget -c http://pecl.php.net/get/memcache-3.0.8.tgz [root~] tar -zxvf memcache-3.0.8.tgz [root~] cd memcache-3.0.8 [root~] /usr/local/php/bin/phpize [root~] ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache --with-zlib-dir [root~] make && make install /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so [root~] vim /usr/local/php/etc/php.ini extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so session.save_handler = memcache session.save_path = "tcp://127.0.0.100:11211" [root~] service php-fpm reload php5.5+版本的memcache扩展安装方法: 因为php5.5+版本内置了memcache扩展 所以无需下载第三方插件直接 执行如下操作即可 cd /usr/local/php/bin ./pecl install memcache 安装时会提示是否开启session支持,根据需要输入no 或者 yes,安装后路径如下: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so 需要手动配置到php.ini中,增加如下内容,即表示启用memcache扩展: extension=memcache.so 补充:PHP的Memcache扩展的安装后发现一个问题,SESSION会出现丢失,这可能是安装Memcached服务端的时候,防火墙没有添加11211端口,修改防火墙规则后,一切正常。 五、PHP memcached 扩展的安装(注意这里是memcached非memcache) 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 --with-memcached make && make install wget http://pecl.php.net/get/memcached-2.2.0.tgz tar zxvf memcached-2.2.0.tgz cd memcached-2.2.0 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install vi /usr/local/php/etc/php.ini 加上extension=memcached.so重起一下服务就可以了。 六、PHP项目分布式使用Memcache同步SESSION的几种方法 1、直接修改php.ini配置文件 session.save_handler = memcache session.save_path = "tcp://127.0.0.100:11211" 2、利用目录下的 .htaccess 文件 php_value session.save_handler "memcache" php_value session.save_path "tcp://127.0.0.1:11211" 3、项目中修改配置 ini_set("session.save_handler", "memcache"); ini_set("session.save_path", "tcp://127.0.0.100:11211"); 上面只是一些简单的说明,一般来说做分布式是有服务器权限的,所以推荐第一种 (责任编辑:IT) |