转自:
http://www.linuxidc.com/Linux/2015-05/117170.htm :CentOS安装Memcached及配置PHP的Memcache扩展
http://www.tuicool.com/articles/qYJBVb :Centos6.5下安装Memcached完整示例
-------------------------------------------分割线----------------------------------------
一 下载需要的源码包
所有安装包均选用最新的。
1. 下载libevent2.0.22
下载地址:http://libevent.org/
如图:
-
下载memcached1.4.24
下载地址:http://memcached.org/
如图:
-
下载PHP扩展memcache3.0.8
下载地址:http://pecl.PHP.net/package/memcache
如图:
二 安装详细步骤
首先将以上三个软件包下载到/tmp目录下
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包
cd libevent-2.0.22-stable #进入到解压的目录
./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改
make; make install #编译+安装
- 1
测试是否安装成功
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致
make; make install #编译+安装
- 测试是否安装成功
输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可,截图如下:
退出telnet,执行quit命令即可,上图所示的memcached进程ID,很重要,如果我们需要关闭memcached服务时,就可以执行命令,kill -9 进程号 即可。最后,我们在来看下如何使用JAVA API,简单的来测试下memcached,注意如果memcached的端口号,需要对外开放,否则,将会出现连接不上的异常,测试环境我们可以把防火墙关闭测试:
用到的jar包,如下所示:
测试,程序核心代码和运行结果如下:
package com.test.client;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;
/**
* @author qindongliang
*
* JAVA流行技术交流群: 324714439
* 测试memcached客户端连接
*
* **/
public class TestClient {
public static void main(String[] args) throws Exception{
MemcachedClient client=new MemcachedClient(new InetSocketAddress("192.168.75.130",11211));
//60是超时数,默认以秒为单位
client.set("test",0)">60,"1111测试memcache成功了吧");
System.out.println(client.get("test"));
client.shutdown();//关闭连接
}
}
控制台打印内容如下所示:
2014-03-18 18:13:30.008 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.75.130:11211,#Rops=0,#Wops=0} to connect queue
30.011 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@33c3e6
1111测试memcache成功了吧
30.020 INFO net.spy.memcached.MemcachedClient: Shut down memcached client
至此,我们已经安装测试成功了,最后散仙把memcached的JAVA API所用到的jar上传上来,方便大家测试。
memcached命令参数解释:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址,默认是本机
-d start 启动memcached 服务
-d restart 重起memcached 服务
-d stop|shutdown 关闭正在运行的memcached 服务
-d install 安装memcached 服务
-d uninstall 卸载memcached 服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助
-------------------------------------------------------------------
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
2. 结束memcached进行
killcat /tmp/memcached.pid
3. 检查memcached是否已经启动
-----------------------------------------------------------------------分割线-----------------------------------------------------
如果没有安装telnet服务,可以执行
yum install telnet-server
安装服务
yum install telnet
安装命令
然后编辑vi /etc/xinetd.d/telnet 文件,激活telnet,默认是禁用的,截图如下:
然后重启服务,执行命令 service xinetd restart
------------------------------------------------------------