Centos 7.6安装memcache

本文最后更新于:2 年前

Centos 7.6安装memcache

安装前准备

memcached需要libevent支持,所以首先安装libevent
查看系统是否已经安装libevent

1
rpm -qa|grep libevent

如果有,不要高兴,先升级

1
yum -y install libevent

测试libevent是不是已经安装成功

1
ls -al /usr/lib | grep libevent

checking for libevent directory… configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it’s already installed, specify its path using –with-libevent=/dir/
因为libevent 这个包是系统默认安装的,没有安装相应的开发所用的头文件。
所以,还要使用如下命令来安装:

1
yum install libevent-devel

memcached 启动报error while loading shared libraries: libevent-1.4.s解决办法:
原因是找不到libevent-1.4.so.2类库,解决办法如下:
使用LD_DEBUG=help ./memcached -v来确定 加载的类库路径,方法如下:

1
ln -s /usr/local/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2

源码安装memcached

1,通过wget http://www.memcached.org/files/memcached-1.4.24.tar.gz下载源码。

1
wget http://www.memcached.org/files/memcached-1.4.24.tar.gz

2、解压 tar -xf memcached-1.4.24.tar.gz
3、进入目录 cd memcached-1.4.24/
4、配置

1
./configure --prefix=/usr/local/memcached

5、编译安装 make && make install
安装完成后memcached的默认目录为/usr/local/memcached/bin/memcached

1
2
# 创建软连接
ln /usr/local/memcached/bin/memcached /usr/bin/memcached

解决报错问题
即CFLAGS里的-Werror选项去掉(-Werror 将所有警告转换为错误):

1
vi Makefile

CFLAGS= “$CFLAGS -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls”

修改为

CFLAGS= “$CFLAGS -Wall -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls”

通过yum安装

1
yum install memcached

启动memcache

安装完成后 启动memcached,并设置一些参数

1
memcached -d -l 127.0.0.1 -p 11211 -m 100 -u root

-d 以守护进程模式运行(退出终端窗口之后使程序还在运行);
-l 指定IP地址127.0.0.1;
-p 指定端口号11211;
-m 为memcached分配多少内存(单位:M);
-u 指定使用哪个用户启动memcached;

1
2
3
# 查看memcached是否在运行: 
ps -ef | grep memcached
# 如果显示memcached,则表明memcached已经在运行了

libmemcached 客户端库的安装:

1, wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
2, 解压 :tar -zxvf libmemcached-1.0.18.tar.gz
3, 进入到解压后的目录:cd libmemcached-1.0.18/
4, 配置:

1
./configure --prefix=/usr/local/libmemcached

5, 编译、安装:make && make install

为PHP安装 php-memcached 扩展

1, cd /usr/local
2, wget http://pecl.php.net/get/memcached-2.2.0.tgz
3, tar -zxvf memcached-2.2.0.tgz
4, cd memcached-2.2.0
5, /usr/local/php/bin/phpize (或 /usr/bin/phpize) //具体用哪个要取决于你的phpize文件所在的目录,这时你应该用 whereis phpize 来查看路径,如果php是默认安装的话,直接使用phpize即可
6, ./configure –enable-memcached –with-php-config=/usr/local/php/bin/php-config –with-libmemcached-dir=/usr/local/libmemcached –disable-memcached-sasl

注释:-with-php-config 指定 php-config,该文件与 phpize 所在目录相同, –with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 –prefix 那个目录 ,–disable-memcached-sasl 说明我们系统不支持sasl.h

7,make && make install
如果安装成功,会提示:Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等类信息
接下来,编辑php配置文件php.ini,可以用 whereis php.ini 查看所在位置(我的在 /etc/php.ini ),把 php-memcached 扩展加到配置文件。
在 php.ini 中添加以下内容:
extension=memcached.so

最后重启nginx===》/etc/init.d/nginx restart
重启php-fpm===>service php-fpm restart

在浏览器中输入127.0.0.1显示phpinfo()的信息,可以看到
memcached的扩展。。。。。