centos7 安装memcached

1、安装libevent库依赖

yum -y install libevent

yum install libevent-devel

2、解压memcached  安装

tar -zxvf memcached-1.5.0.tar.gz

cd /lnmp/src/memcached-1.5.0

./configure --prefix=/opt/memcached

make && make install

3、启动memcached

cd /usr/local/memcached/bin

./memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 -p /var/memcached/memcached.pid -vv

问题:memcache can't run as root without the -u switch

 

附录:

memcached启动参数
 
-p 指定端口号(默认11211)  
-U <num> UDP监听端口 (默认: 11211, 0 时关闭) 
-s <file>     用于监听的UNIX套接字路径(禁用网络支持)
-a <mask>     UNIX套接字访问掩码,八进制数字(默认:0700)
-m 指定最大使用内存大小(默认64MB)   
-t 线程数(默认4)
 
-l <ip_addr> 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) 
-d start 启动memcached服务   
-d restart 重起memcached服务   
-d stop|shutdown 关闭正在运行的memcached服务   
-u <username> 绑定使用指定用于运行进程 <username>  (只有root用户可以使用这个参数)
-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
 
-M 内存耗尽时返回错误,而不是删除项   
-c 最大同时连接数,默认是1024 
-f 块大小增长因子,默认是1.25 
-n <bytes> 最小分配空间,key+value+flags默认是48
-k 锁定所有内存页。注意你可以锁定的内存上限。
 
试图分配更多内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。
(不是前面的 -u <username> 参数;在sh下,使用命令"ulimit -S -l NUM_KB"来设置。)

-v 提示信息(在事件循环中打印错误/警告信息。)
-vv 详细信息(还打印客户端命令/响应)
-vvv 超详细信息(还打印内部状态的变化)
-h 打印这个帮助信息并退出。
-i  打印memcached和libevent的许可。

-L 尝试使用大内存页(如果可用的话)。提高内存页尺寸可以减少"页表缓冲(TLB)"丢失次数,提高运行效率。为了从操作系统获得大内存页,memcached会把全部数据项分配到一个大区块。

-D <char>     使用 <char> 作为前缀和ID的分隔符。
这个用于按前缀获得状态报告。默认是":"(冒号)。
如果指定了这个参数,则状态收集会自动开启;如果没指定,则需要用命令"stats detail on"来开启。

-R 每个连接可处理的最大请求数。
-C 禁用CAS。
-b 设置后台日志队列的长度(默认:1024)
-B 绑定协议 - 可能值:ascii,binary,auto(默认)
-I 重写每个数据页尺寸。调整数据项最大尺寸。
 
常用组合:
memcached -d -m 256 -c 2048 -p 11211 -u www -l 127.0.0.1

 

 

4、下载php-memcached扩展需要的包

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

wget https://pecl.php.net/get/memcached-2.2.0.tgz

 

5、安装libmemcached

tar -zxvf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure -prefix=/opt/libmemcached -with-memcached=/opt/memcached

make && make install

6、安装php-memcached

tar -zxvf memcached-2.2.0.tgz

cd memcached-2.2.0

phpize  //显示没有安装phpize

yum install php-devel  //安装phpize

phpize

出现如下信息说明安装成功

Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525

Zend Extension Api No:   220100525

#编译
./configure --with-php-config=/opt/php-config --with-libmemcached-dir=/opt/libmemcached --disable-memcached-sasl

make 

make install

出现如下信息说明安装成功

Installing shared extensions:     /opt/php7/lib/php/extensions/no-debug-non-zts-20131226/

7、修改php.ini

vim /opt/php7/lib/php.ini

在END前加上extension=memcached.so;

重启php-fpm

8、测试memcached

$memcache = new Memcached();             //创建一个memcache对象
$m = $memcache->addServer('127.0.0.1',11211) or die ("Could not connect"); //连接Memcached服务器
$c = $memcache->set('key','test');        //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get('key');   //从内存中取出key的值
echo 'Memcached测试:';

注意:如果发现找不到php.ini文件;

解决方法:
去原php的源码目录(就是刚开始下载的php压缩包)查看php.ini-development或php.ini-production
再当前环境选择将哪个文件重命名为php.ini
并同时将php.ini文件复制到phpinfo()中php.ini所在的目录中即可
(在phpinfo里面搜索php.ini,查看php.ini应该在哪个路径)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值