Memcached Linux安装部署?安装版本:libevent-2.0.13-stable.tar.gz memcached-1.4.7.tar.gz?2.先安装libev
Memcached Linux安装部署
?
安装版本:libevent-2.0.13-stable.tar.gz memcached-1.4.7.tar.gz
?
2.先安装libevent:
# tar zxvf libevent-2.0.13-stable.tar.gz
# cd libevent-2.0.13-stable
# ./configure –prefix=/usr
# make
# make install
?
3.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
还不错,都安装上了。
?
4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.4.7.tar.gz
# cd memcached-1.4.7
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,
?
5.测试是否成功安装memcached:
# ls -al /usr/local/bin/mem*
?
?
安装Memcache的PHP扩展
1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展
?
tar vxzf memcache-2.2.1.tgz
cd memcache-2.2.1
/usr/local/php/bin/phpize
./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
make
make install
?
3.上述安装完后会有类似这样的提示:
?
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
?
4.把php.ini中的extension_dir = “./”修改为
?
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”
?
5.添加一行来载入memcache扩展:extension=memcache.so
?
memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
?
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
?
2.如果要结束Memcache进程,执行:
?
# kill `cat /tmp/memcached.pid`
?
也可以启动多个守护进程,不过端口不能重复。
?
3.重启apache,service httpd restart
?
Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->connect("10.0.1.146", 11211);
$mem->set("key", "This is a test!", 0, 60);
$val = $mem->get("key");
echo $val;
?>
1 楼 huze104 2012-03-20 1,memcached是什么?memcached服务器和客户端的内容以及memcached启动选项等,大家网上搜搜吧,这里不赘述
2,mecached服务器的安装:
一, 查看安装的memcached版本:yum list memcached。如果已经存在,且版本符合自己的需求,则可以直接使用,如果不符合自己的需求,则可以通过yum remove memcached进行卸载。如果不存在,则在centos6下可以直接使用yum install memcached进行一键安装,不过通过这种方式安装的版本可能不是最新的。如果需要最新的版本可以按下面的步骤进行安装。
二,memcached服务器当前最新版本(1.4.13)的安装:
1)用到的软件包:
libevent-2.0.17-stable.tar.gz [http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz]
memcached-1.4.13.tar.gz [http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz]
2)下载软件包:
Java代码
[root@hxqlinux ~]# cd /tmp
[root@hxqlinux tmp]# wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
[root@hxqlinux tmp]# wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
3)先安装libevent(memcached依赖libevent):
Java代码
[root@hxqlinux tmp]# tar zxvf libevent-2.0.17-stable.tar.gz
[root@hxqlinux tmp]# cd libevent-2.0.17-stable
[root@hxqlinux libevent-2.0.17-stable]# ./configure --prefix=/usr
[root@hxqlinux libevent-2.0.17-stable]# make && make install
4) 测试libevent是否安装成功:
Java代码
[root@hxqlinux libevent-2.0.17-stable]# ls -al /usr/lib |grep libevent
看到类似下面的截图,说明libevent安装成功:
5) 安装memcached:
Java代码
[root@hxqlinux tmp]# tar zxvf memcached-1.4.13.tar.gz
[root@hxqlinux tmp]# cd memcached-1.4.13
[root@hxqlinux memcached-1.4.13]# ./configure --with-libevent=/usr
[root@hxqlinux memcached-1.4.13]# make && make install
6) 测试memcached是否安装成功:
Java代码
[root@hxqlinux memcached-1.4.13]# ls -al /usr/local/bin/memcached
看到类似下面的截图,说明memcached安装成功:
3, memcached服务器的启动和关闭:
一,直接的命令行方式:
1) 启动和查看是否启动:
Java代码
[root@hxqlinux ~]#/usr/local/bin/memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached1.pid
[root@hxqlinux ~]# ps aux|grep memcached
看到类似下面的截图,说明memcached1启动成功
2)关闭:
Java代码
[root@hxqlinux ~]# kill `cat /var/run/memcached1.pid`
再通过ps aux|grep memcached进行查看
二,服务的方式:
1)新建启动和关闭脚本并赋执行权限:
Java代码
[root@hxqlinux ~]# cp /tmp/memcached-1.4.13/scripts/memcached.sysv /etc/init.d/memcached
[root@hxqlinux ~]# chmod 755 /etc/init.d/memcached
2)修改/etc/init.d/memcached文件(只列出了需要修改的内容):
Html代码
PORT=11212
USER=root
MAXCONN=256
CACHESIZE=128
OPTIONS=""
chown $USER /usr/local/bin/memcached
/usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached2.pid $OPTIONS
3)加入系统服务,并启动memcached服务,同时查看memcached服务是否启动成功:
Java代码
[root@hxqlinux ~]# chkconfig --add memcached
[root@hxqlinux ~]# chkconfig --level 235 memcached on
[root@hxqlinux ~]# chkconfig --list memcached
4)启动memcached服务器并检查memcached是否启动,关闭memcached:
Java代码
[root@hxqlinux ~]# service memcached start
[root@hxqlinux ~]# ps aux|grep memcached
[root@hxqlinux ~]# service memcached stop
4, 测试外部是否可以访问memcached服务器:
通过telnet ip port来测试memcached是否可以访问,如果不能访问,应该是centos6的防火墙问题,进行如下修改:
Java代码
[root@hxqlinux ~]# iptables -I INPUT -p tcp --dport 11211 -j ACCEPT;
[root@hxqlinux ~]# iptables -I OUTPUT -p tcp --sport 11211 -j ACCEPT;
[root@hxqlinux ~]# iptables-save
[root@hxqlinux ~]# service iptables save;
此时外部程序应该可以访问memcached 服务器了
5, 注意:
一,安装libevent的时候最好指定--prefix=/usr, 不然在安装memcached的时候可能会报找不到libevent的错误。
二,至于windows下的安装,请参考:http://blog.csdn.net/zhangking/article/details/7104668
三,也可以通过netstat -anp|grep 1121* 来查看memcache是否启动