[Linux]centos下安装memcached

一、yum安装

1、Linux系统安装memcached,首先要先安装libevent库。

yum install libevent libevent-devel

2、安装memcached

yum install memcached

二、手动安装

1.下载libevent库。

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

2.安装

tar -zxvf libevent-2.0.21-stable.tar.gz
cd ibevent-2.0.21-stable
./configure --prefix=/usr/local/libevent-2.0.21-stable
make
make install

3.检查是否安装成功

ls -al /usr/local/libevent-2.0.21-stable/lib | grep libevent

4.下载memcached

wget http://memcached.org/files/memcached-1.5.9.tar.gz

5.安装

tar -zxvf memcached-1.5.9.tar.gz
cd memcached-1.5.9
./configure -with-libevent=/usr/local/libevent-2.0.21-stable/ --prefix=/usr/local/memcached-1.5.9
make
make install

三、启动

/usr/local/memcached/bin/memcached -d -m 87380m -c 5120 -p 11211 -u root

四、配置项

-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,也可以启动多个守护进程,不过端口不能重复。
-s以unix域socket方式启动,后接用于FIFO通讯的文件绝对路径,例如:/run/memcached/memcached.sock。

五、通讯方式

客户端可以有两种方式与服务进程通信,分别是TCP和unix domain socket.

1.TCP

TCP是最常用的一种通讯方式,这种方式可以通过TCP网络连接远方的memcached服务器。

如果是客户端和服务端处于同一服务器,采用这种通讯方式就会带来而外不必要的传输开销,所以客服同机的情况下,应当采用unix域协议通信。

2.unix domain socket

unix domain socket是unix系统中特有的进程间通讯方式(IPC),两个进程通过管道(FIFO)互相通信,相比起TCP的开销更加小,但是只有在客服同机的情况下才能使用。

开启此方式的方法是让memcached服务进程以创建一个文件的方式,双方进程通过读写此文件进行通信,可以参考第六点的第2条命令。

所有通过此方式通讯的进程必须注意:
服务进程需要创建一个文件用于通信,所以服务进程必须具备指明路径下的创建文件的权限。
客户端进程必须有读写该文件的权限。 

六、常用命令

1.启动后保存pid文件

/usr/bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

       2.用unix域socket方式启动

/usr/bin/memcached -d -u nginx -s /run/memcached/memcached.sock

 七、在php中使用

php中自带了两个命名很相似的扩展memcache和memcached.

这两者的不同之处在于memcache是基于php自身编写的一个memcache客户端,unix和windows都可以找到相应版本。而memcached则是基于一个开源memcached客户端项目libmemcached.它是仅限于unix中的一个项目。

1.memcache

此扩展在PHP官方手册里就有详细的安装指南,在PECL中下载该扩展的最新版本。

2.memcached

在安装此扩展之前需要安装libmemcached客户端,此后再安装php扩展,在PECL中下载该扩展的最新版本。

安装libmemcached过程:

cd /usr/local/src
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make && make install

        安装memcached扩展过程:

cd /usr/local/src
wget http://pecl.php.net/get/memcached-3.1.5.tgz
tar zxvf memcached-3.1.5.tgz
cd memcached-3.1.5
/usr/local/php/bin/phpize --with-php-config=/usr/local/php/bin/php-config
./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make && make install

在安装此扩展的过程当中需要注意的是它的配置项:

配置项 作用
--with-libmemcached-dir
指明libmemcached的安装路径
--disable-memcached-sasl
带上该配置时禁用sasl功能

 

 

原文地址:https://www.cnblogs.com/yiyide266/p/11920965.html