Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)
用wget指令直接下载这两个东西.下载回源文件后。
1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:
1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
2.先安装libevent:
- # tar zxvf libevent-1.4.12-stable.tar.gz
- # cd libevent-1.4.12
- # ./configure --prefix=/usr
- # make
- # make install 4.安装memcached,同时需要安装中指定libevent的安装位置:
- # cd /tmp
- # tar zxvf memcached-1.4.4.tar.gz
- # cd memcached-1.4.4
- # ./configure –with-libevent=/usr 或./configure --prefix=/usr/local/memcached
- # make
- # make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,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
# /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`
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
或安装完后启动memcached并分配32m内存(32为使用内存数,可按自身情况修改)
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root将memcached加入启动项
# vi /etc/rc.d/rc.local
按键盘上的 i 开始编辑
在最后加入
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
按Esc键,再输入
:wq
保存退出
如果需要,可以reboot一下,不过不用reboot应该已经生效~
如果要清空memcache的items,常用的办法是什么?杀掉重启?如果有n台memcache需要重启怎么办?挨个做一遍?
很简单,假设memcached运行在本地的11211端口,那么跑一下命令行:
$ echo ”flush_all” | nc localhost 11211
注:flush并不会将items删除,只是将所有的items标记为expired。