首先,memcached是基于libevent的,所以确保你的系统已经装了libevent,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。
由于memcached和libevent是由C编写的,所以首先确保你的系统安装了gcc,如果
没有安装,使用yum安装即可
命令:
yum -y install gcc
yum -y install gcc-c++
然后去官网下载
http://libevent.org/
tar xzvf libevent-2.0.21-stable.tar.gz ##解压
cd libevent-2.0.21-stable 进入目录
./configure --prefix=/usr
make && make install
安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)
然后下载 memcached
http://memcached.org/files/memcached-1.5.8.tar.gz
tar -zxvf memcached-1.5.8.tar.gz && cd memcached-1.5.8
./configure --with-libevent=/usr
make && make install
安装结果执行
ls -al /usr/local/bin/memcached
看是否有对应的信息
关于memcache启动的一些参数说明:
memcached命令参数解释:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址, 默认是本机
-d start 启动memcached 服务
-d restart 重起memcached 服务
-d stop|shutdown 关闭正在运行的memcached 服务
-d install 安装memcached 服务
-d uninstall 卸载memcached 服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助
然后执行命令启动memcached
#/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid
然后就可以使用telnet,来测试memcache的连接状态,
如果没有安装telnet服务,可以执行
yum install telnet-server -y
安装服务
yum install telnet -y
安装命令
然后编辑vi /etc/xinetd.d/telnet 文件,激活telnet,默认是禁用的:
需要改成no
disable= no
然后重启服务,执行命令 service xinetd restart
然后就可以测试memcached的连接,执行命令
telnet 127.0.0.1 11211
输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可
编写Memcached启动脚本
vi /etc/init.d/memcached
#!/bin/bash
# author:kuangl
# date:2013-05-30
# description: Starts and stops the Memcached services.
# pidfile: /tmp/memcached1.pid
# config: /usr/local/memcached
# chkconfig: - 55 45
# source function library
. /etc/rc.d/init.d/functions
memcached="/usr/local/bin/memcached"
[ -e $memcached ] || exit 1
start()
{
echo "Starting memcached:"
daemon $memcached -d -m 1000 -u root -l 127.0.0.1 -p 11211 -c 1500 -P /tmp/memcached.pid
}
stop()
{
echo "Shutting down memcached"
killproc memcached
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
修改文件执行权限
chmod a+x /etc/init.d/memcached
添加开机自动启动
chkconfig --add memcached
chkconfig memcached on
安装PHP中的memcache扩展
官网下载:http://pecl.php.net/package/memcache
tar zxvf memcache-2.2.7.tgz && cd memcache-2.2.7
生成安装编译信息
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
编辑php.ini配置文件
vi /usr/local/php/etc/php.ini
在最底加入下面一条
extension = "memcache.so"
保存退出
使用以下命令看是否有memcache的信息
php -m
期待你的留言
已有( 0 )条评论*验证码: