Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。在搭建负载均衡平台的时候,为Session的会话维持,可以引用Memcached来存储Session数据,以此提高服务可用性!


以下PHP使用的版本为PHP 7.3.26
因多版本PHP安装需求,其下方部分相关命令会有所化简,具体的简化命令依赖其另一篇文章CentOS编译安装PHP中所设置

编译安装Memcached

1、安装依赖

yum install -y libevent libevent-devel cyrus-sasl cyrus-sasl-devel

libevent是一套跨平台的事件处理接口的封装。Memcached使用libevent来进行网络并发连接的处理,能够在很大并发的情况下,仍保持快速的响应能力。

2、下载Memcached并解压

#下载最新版本
wget http://memcached.org/latest

#解压memcached,后面的版本请根据下载的版本填充x
tar -zxvf memcached-1.x.x.tar.gz

3、创建用户和用户组并编译安装

groupadd memcached
useradd -s /sbin/nologin -g memcached memcached

cd memcached-1.x.x
./configure --prefix=/usr/local/memcached
make
make install

4、配置

此处为后期操作Memcached方便将其使用软连接建立到系统环境变量中

ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached

#查看memcached信息
memcached -h | head -1

5、安装Memcached扩展

Memcached服务端安装完成之后,再需要安装memcached扩展libmemcached,PHP程序才正常操作memcached。该拓展下载官网:https://launchpad.net/libmemcached

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 --with-memcached
make && make install

PHP安装memcached模块

1、下载Memcached模块


此处可以使用pecl安装,若报错说memcache版本不一致,则需要自行找支持您PHP版本的memcache来安装。官网下载地址:https://pecl.php.net/package/memcached,Github下载地址:https://github.com/php-memcached-dev/php-memcached

wget http://pecl.php.net/get/memcached-3.1.5.tgz

2、解压并编译安装

tar -zxvf memcached-3.1.5.tgz

cd memcached-3.1.5

/usr/local/php/73/bin/phpize

./configure --enable-memcached --with-php-config=/usr/local/php/73/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-sasl

make && make install

3、查看是否安装

ll /usr/local/php/73/lib/php/extensions/no-debug-non-zts-20180731/

# 含有memcached.so文件即成功

4、编辑php.ini文件开启拓展

vim /usr/local/php/73/lib/php.ini

#修改或添加如下内容:
extension=memcached

5、重启PHP服务并查看拓展

service php-fpm73 reload
service php-fpm73 restart
php73 -m

或打开phpinfo页面查看,出现如图所示模块即安装成功
memcached模块.png

Memcached开机自启

本方法是将启动命令加入rc.local文件来定义开机自启,其Memcached启动相关指令如下:

启动参数说明:

-d 选项是启动一个守护进程,
-m 是分配给Memcached使用的内存数量,单位是MB,默认64MB
-M 在内存耗尽时返回错误(而不是删除项目)
-u 是运行Memcached的用户,如果当前为root 的话,需要使用此参数指定用户。
-l 是监听的服务器IP地址,默认为所有网卡。
-p 是设置Memcached的TCP监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024
-P 是设置保存Memcached的pid文件

1、编辑rc.local文件

vim /etc/rc.d/rc.local

2、添加启动命令并设置文件权限

# IP及端口定义和内存分配可自己根据自己机器情况来定义
/usr/local/memcached/bin/memcached -d -l 192.168.17.130 -p 11211 -m 512 -c 1024 -u memcached -P /tmp/memcached.pid

chmod +x /etc/rc.d/rc.local

PHP开启session共享

配置php.ini

vim /usr/local/php/73/lib/php.ini

#添加如下内容
session.save_handler= memcached
session.save_path= "192.168.17.130:11211"
End

本文标题:CentOS编译安装Memcached

本文链接:https://www.isisy.com/976.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

如果觉得我的文章对你有用,请随意赞赏