linux下memcache安装

[PHP]

tar zxvf libevent-2.0.20-stable.tar.gz
tar zxvf memcached-1.4.15.tar.gz
cd libevent-2.0.20-stable
./configure --prefix=/usr
make
make install
cd /root/memcached-1.4.15
./configure --with-libevent=/usr
make
make install
cat << EOF +--------------------------------------------------------------+ |         === Memcache installed ===                | +--------------------------------------------------------------+ EOF ls -al /usr/local/bin/mem* cp /root/memcached /etc/init.d/ chmod +x /etc/init.d/memcached chkconfig memcached on service memcached restart #echo -ne "/usr/local/bin/memcached -d -u nobody -m 1024 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11211 -P /tmp/memcached/pid/m11211.pid" >>/etc/rc.local

[/PHP]

点击这里下载文件: memcached.zip

memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -u nobody -m 26624 -p 11211 -P /tmp/memcached/pid/m11211.pid

启动方式

-d  选项是启动一个守护进程,
-u  是运行Memcache的用户,我这里是root,
-P  是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

内存设置

-m 是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-M 内存不够时禁止LRU,报错
-n 48 初始chunk=key+suffix+value+32结构体,默认48字节
-f 1.25 增长因子,默认1.25
-L 启用大内存页,可以降低内存浪费,改进性能

并发设置

-c 1024 最大并发连接数,默认1024,最好是200
-t 4 线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用
-R 20 每个event连接最大并发数,默认20
-C 禁用CAS命令(可以禁止版本计数,减少开销)

连接设置

-l 是监听的 IP 地址,本机可以不设置此参数
-p 是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,

chown -R nobody /tmp
/usr/local/bin/memcached -d -u nobody -m 26624 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11211 -P /tmp/memcached/pid/m11211.pid

/usr/local/bin/memcached -d -u nobody -m 6624 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11211 -P /tmp/memcached/pid/m11211.pid
/usr/local/bin/memcached -d -u nobody -m 6624 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11212 -P /tmp/memcached/pid/m11212.pid
/usr/local/bin/memcached -d -u nobody -m 6624 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11213 -P /tmp/memcached/pid/m11213.pid
/usr/local/bin/memcached -d -u nobody -m 6624 -c 10240 -R 40 -C -f 1.25 -n 48 -p 11214 -P /tmp/memcached/pid/m11214.pid

2.如果要结束Memcache进程,执行:

# kill `cat /tmp/memcached/pid/m11211.pid`

也可以启动多个守护进程,不过端口不能重复。

memcached有可能会死掉

监视memcached进程并自动启动
启动脚本样例:run.sh

[PHP]

#!/bin/sh
if [ f /etc/sysconfig/memcached ];then
. /etc/sysconfig/memcached
fi

exec 2>&1
exec memcached p $PORT u $USER m $CACHESIZE c $MAXCONN $OPTIONS

[/PHP]

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 65 queries in 0.433 seconds