memcached的安装(server、client)

声明:本编文章基于网络上的文章(90%),基本就是把我的安装步骤写一下,遇到问题记录一下

1、背景:项目需要多台服务器负载均衡,我们的应用有付费会员,不能让一个账号随便登陆,一个时间段只能一个账号,这就牵扯到几个独立的web引用共享session,

2、方案:1)tomat自身的配置,实现session共享,缺点:每个tomcat都是一个全部的session,性能是瓶颈

     2)找分布式的缓存工具(ehcahe、memcached等),最后确定用memcache,理由是:总监定的,这几个工具都没用过

3、环境:目前测试环境:

      server端:lenovo的T100 G11,centos 6.4 64位,memcached-1.4.22

      client端:暂无(还没安装到那里)

4、server端安装(网络参考,这里复制一下,原文地址:http://www.cnblogs.com/zgx/archive/2011/08/10/2134097.html):

下载并安装Memcache服务器端
服务器端主要是安装memcache服务器端.
下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz

用wget指令直接下载这两个东西.下载回源文件后。
1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:

1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz

2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install

安装这个的时候可能会出错(./configure -prefix=/usr这一步),提示gcc等error错误,这个是gcc的库没有安装
yum install gcc 即可
如果你yum的时候提示所有的镜像出错,看看你的dns是否设置成功,
ping www.baidu.com检验一下,出现unknown说明你的dns出错了参考我的另一篇http://www.cnblogs.com/aishangyizhihu/p/4233251.html

3.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还不错,都安装上了。

4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,

5.测试是否成功安装memcached:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug

启动Memcached服务:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid
d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:
# kill ‘cat /tmp/memcached.pid‘
也可以启动多个守护进程,不过端口不能重复。

测试Memcached:
[[email protected] /]# telnet 192.168.141.64 12000

至此Memcached安装成功!

常见问题:

1.如果启动Memcached服务的时候遇到了

/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory;

解决方案:

[[email protected] bin]# LD_DEBUG=libs memcached -v
[[email protected] bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[[email protected] bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid
[[email protected] bin]# ps -aux

2.把Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了.

假如启动Memcache的服务器端的命令为:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid

想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令
/usr/local/memcached/bin/memcached -d -m 10 -p 12000 -u apache -c 256
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache 或 deamon
这样,也就是属于哪个用户的服务,由哪个用户启动。

  未完待续。。。

时间: 2024-08-08 18:07:45

memcached的安装(server、client)的相关文章

vCenter Server Client 5.5的安装

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. vCenter Server Client 5.5的安装

Memcached的安装配置及将PHP的session保存在Memcached中

Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页面引用结果的直接数据,如字符串.对象等. Memcached现已成为mixi.hatena.Facebook.Vox.LiveJournal等众多服务中提高Web应用扩展性的重要因素. Memcached有以特点 1. 简单key/value存储:服务器不关心数据本身

Memcached的安装和应用

Memcached的安装 1.安装libeventlibevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用 select.epoll.kqueue等系统调用管理事件机制.memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能.The libevent API provides a mechanism to execute a callback

windows64位下的redis及memcached的安装和使用

1.redis简介:Redis是一个开源,先进的key-value存储系统.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(hashes), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型.redis 与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改 操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步. 2.安装: ··

Windows下使用FileZilla[Server+Client]搭建FTP服务

FTP服务器,客户端开源的,商业的非常多,尝试过不少,真心觉得FileZilla不错,流行,开源,稳定,安全,高性能. 下面通过图示的方式说明快速上手FileZilla,这里插播几句话,关于FTP的可以另作了解,而FileZilla可以看作是两款普通的配套来用的软件(Server+Client). 1.下载软件包 FileZilla Server:https://filezilla-project.org/download.php?type=server FileZilla Client: ht

Httpd+Tomcat+memcached实现session server

何为会话保持 会话保持是负载均衡最常见的问题之一,也是一个相对比较复杂的问题.会话保持有时候又叫做粘滞会话(Sticky Sessions).会话保持是指在负载均衡器上的一种机制,可以识别客户端与服务器之间交互过程的关连性,在作负载均衡的同时还保证一系列相关连的访问请求会保持分配到一台服务器上 何时需要会话保持 在讨论这个问题前,我们必须先花点时间弄清楚一些概念:什么是连接(Connection).什么是会话(Session),以及这二者之间的区别.需要特别强调的是,如果我们仅仅是谈论负载均衡,

用XMLRPC开服务进行server/client通信

本文讲一下如何用python的xmlrpc开服务,进行server/client的通信. 应用场景:1)需多client访问应用程序给予应答情况--网页服务:  2)数据极大,希望加载一次,后面只用方法调用 解决方案:  开两个服务,一个数据服务,一个网络服务:  数据服务端加载数据,网络服务端调用数据,并将结果显示在网络服务中:  外部调用网络服务返回结果: 应用工具:xmlrpc,本文中以python 2.7.3的xmlrpclib为例,其他语言也有相应接口 下面分别说明. 1. 数据端 在

Memcached的安装与使用

Windows下的Memcache安装 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 c:\memcached\memcached.exe -d install            --安装memcached成为服务,这样才能正常运行,否则运行失败! 3. 再输入: c:\memcached\memcached.exe -d start    --启动memcached的. 以后memcached将

NetMQ(ZeroMQ)Client => Server => Client 模式的实现

ØMQ (也拼写作ZeroMQ,0MQ或ZMQ)是一个为可伸缩的分布式或并发应用程序设计的高性能异步消息库.它提供一个消息队列, 但是与面向消息的中间件不同,ZeroMQ的运行不需要专门的消息代理(message broker).该库设计成常见的套接字风格的API. ZeroMQ是由iMatix公司和大量贡献者组成的社群共同开发的.ZeroQ通过许多第三方软件支持大部分流行的编程语言 .类库提供一些套接字(对传统Berkeley套接字和Unix domain socket的泛化),每一个套接字可

Memcached总结二:Memcached环境安装设置以及连接memcache服务器

1 在Ubuntu上安装Memcached 要在Ubuntu上安装Memcached,打开终端,然后输入以下命令: $sudo apt-get update $sudo apt-get install memcached 2. 确认memcached是否安装 要确认memcached安装与否,需要运行下面的命令: $ps aux | grep memcached 上面的命令将显示Memcached是默认端口11211上,如果想要让memcached运行在其它端口,那么运行以下命令来启动memca