linux环境Memcached的部署

拟墨画扇 提交于 2019-12-06 15:47:04

一、安装libevent函数库
下载地址:http://libevent.org
默认被安装到:/usr/local/lib目录下
安装memcached之前需要先安装libevent函数库。
可以通过 ls -al /usr/local/lib | grep libevent 命令查看是否已安装libevent函数库。
如果没安装,则需下载并安装libevent函数库。
 
二、安装memcached
下载地址:http://memcached.org
默认被安装到:/usr/local/bin目录下
安装完毕后,
先将libevent包路径加入/etc/ld.so.conf文件中
#vi /etc/ld.so.conf
在最后面一行加入/usr/local/lib
 
完成后输入以下命令启动memcached主程序
/usr/local/bin/memcached -d -m 1024 -u root -l memcached所在的服务器ip地址 -p 11211 -c 1024 -P /tmp/memcached.pid
常用启动参数如下:
-m:最大内存使用,单位MB。默认64MB。
-p:进程所使用的TCP进程端口,默认11211。
-d:将memcached作为后台守护进程运行。
-u:以哪个用户的身份运行 (仅在以root运行的时候有效)
-P:进程文件存放路径。
-c:最大运行并发数,默认1024。
-l:监听服务地址(即允许telnte登录的IP),默认为INDRR_ANY,设为127.0.0.1则只能监听本机的请求。

其他命令:

-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25

-n 最小分配空间,key+value+flags,默认是48
-h 显示帮助
 
如果出现以下报错:error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
则说明memcached找不到libevent的位置,解决办法及原因如下:
原因之一:虽然刚刚我们在/etc/ls.so.conf文件里添加了libevent包目录,但系统还没有识别到这个新的动态链接库。
解决办法:我们需要执行一下ldconfig命令,这个命令通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
这个命令的用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。
 
启动完成后,可查看memcached主程序是否存在
#pstree | grep memcached
 
三、安装PHP-memcache扩展
下载地址:http://pecl.php.net/package/memcache
memcache是php的一个扩展模块,安装前应先保证目前具备php环境。
先找到phpize的存在目录(如果是通过yum安装的php,则存在于/usr/bin中,如果没找到它们,则#yum install php-devel并重启)
解压memcache压缩包后,“进入解压出的文件夹中”。接下来使用phpzie将memcache编译到php扩展模块中。
#/usr/bin/phpize
#./configure --with-php-config=/usr/bin/php-config
(此时如果error: memcache support requires ZLIB报错,则说明没有zlib,可以yum一个,之后重启:#yum install -y zlib.x86_64 zlib-devel.x86_64)
检测成功后就可以用make编译memcache了:
#make
#make install
Installing shared extensions: /usr/lib64/php/modules/
(上面的结果表示:扩展将被安装到/usr/lib64/php/modules/目录)
最后还需要修改php.ini配置项,过程如下:
#vim /etc/php.ini
(在700多行找到下面的命令,将注释去掉,有些没有也可手动添加)
extension_dir = "/usr/lib64/php/modules/" (地址是上面make时显示的地址)
extension = "memcache.so"
extension = "pdo_mysql.so"
重启服务器
 
可以用#telnet memcached所在服务器ip地址 11211
来查看是否可以连接memcached
 
之后可以通过phpinfo()函数查看memcache的配置信息

 

参考链接: https://www.cnblogs.com/kyoung/p/6801187.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!