windows和linux安装memcached和php扩展

  • 内容
  • 评论
  • 相关

memcached是一个很好的分布式内存cache,今天我们就简单说一下在windows下的安装,以我自己的电脑为例,win7的64bit的系统,这时候先点击下载memcached的相应版本文件,下载解压到相应目录,例如D:\memcached,然后开始安装

D:\memcached\memcached.exe -d install

安装之后启动memcached服务:

D:\memcached\memcached.exe -d start

现在这个服务已经启动了,你可以测试一下这个服务的情况,进入命令行:

telnet 127.0.0.1 1121

输入stats(这时候在命令行下也许看不清这几个字符),这时候会显示相关信息。
这时候在安装php的memcached扩展,点击下载相应的扩展文件。
另外,对于win 64bit的系统下安装了wamp的环境,很多时候php的curl扩展无法使用,这是因为wamp的目前还是支持32bit的原因,我们可以手动下载php的curl的正确版本即可,点击下载。
安装结束我需要将动态链接文件加入到配置文件中,打开php.ini,加入这一行

extension=php_memcache.dll

对于linux来说,安装memcached首先大家想到的是源安装,我这里使用的是centos,但是如果使用yum -y install memcached 你会发现这个源默认是没有的,因此我们可以使用使用二进制包或者编译安装,那么memcached这个软件依赖于libevent,因此首先我们检查一下libevent是否安装了。

rpm -qa | grep libevent

默认centos其实已经安装了这个软件,但是在编译memcached的时候需要用到libevent的安装路径,很多时候这里会找不到libevent的安装路径,但是可以找到其类库。

ls -al /usr/lib | grep libevent

干脆,我们自己将系统自带的libevent卸载掉,重新编译安装即可.
先下载libevent的最新稳定版本

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -zxv -f libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make && make install

然后安装memcached,下载解压过程略去,

./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make&& make install

安装之后这样启动

/usr/local/memcached/bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -P /var/run/memcachd/memcached.pid

关闭服务可以直接

ps aux | grep memcached

然后 kill id即可。或者

kill `cat /var/run/memcachd/memcached.pid`

接下来我们要安装php的memcached扩展,如果编译安装会遇到很多软件性的依赖问题,我们这时候可以直接从webtatic的源安装。

rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm

然后

yum --enablerepo=webtatic install php-pecl-memcache

这时候可以查看一下php的模块应该有了memcache

php -m

memcached启动的一些参数列举如下:

-p <num> 设置端口号(默认不设置为: 11211) 
-U <num> UDP监听端口 (默认: 11211, 0 时关闭) 
-l <ip_addr> 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) 
-d 独立进程运行
-u <username> 绑定使用指定用于运行进程 <username> 
-m <num> 允许最大内存用量,单位M (默认: 64 MB) 
-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用

这里提供一个memcached的简单管理工具,点击下载
删除所有memcache缓存的命令是(先要telnet上服务器):

flush_all

评论

0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注