Memcached和Magent简介及安装

  • memcached的安装
  1. 安装libevent
[[email protected] ~]# wget https://cloud.github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
[[email protected] ~]# tar zxvf libevent-2.0.19-stable.tar.gz 
[[email protected] ~]# cd libevent-2.0.19-stable
[[email protected] libevent-2.0.19-stable]# ./configure --prefix=/usr/
[[email protected] libevent-2.0.19-stable]# make && make install

2.安装memcached

[[email protected] ~]# wget http://www.memcached.org/files/memcached-1.4.22.tar.gz  
[[email protected] ~]# tar zxvf memcached-1.4.22.tar.gz
[[email protected] memcached-1.4.22]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/
[[email protected] memcached-1.4.22]# make && make install
  • magent的安装

    magent是一款开源的Memcached代理服务器软件,其项目网址为:

[[email protected] ~]# tar zxvf magent-0.6.tar.gz
[[email protected] ~]# mkdir /usr/local/magent
[[email protected] magent]# tar zxvf magent-0.6.tar.gz 
ketama.c
ketama.h
magent.c
Makefile 
[[email protected] magent]# make 
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
magent.c: In function ‘writev_list’:
magent.c:729: error: ‘SSIZE_MAX’ undeclared (first use in this function)
magent.c:729: error: (Each undeclared identifier is reported only once
magent.c:729: error: for each function it appears in.)
make: *** [magent.o] Error 1
解决方法:
[[email protected] magent]# vim ketama.h
#ifndef SSIZE_MAX
#define SSIZE_MAX      32767
#endif
#ifndef _KETAMA_H
#define _KETAMA_H

struct dot {
        unsigned int point;
        int srvid;
};

struct ketama {
        unsigned int numpoints;
        struct dot *dot;

        int count;
        char **name;
        int *weight;
        int totalweight;
};

int create_ketama(struct ketama *, int);
void free_ketama(struct ketama *);
int get_server(struct ketama *, const char *);
#endif

[[email protected] magent]# make
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
gcc: /usr/lib64/libevent.a: No such file or directory
gcc: /usr/lib64/libm.a: No such file or directory
make: *** [magent] Error 1
解决方案:
[[email protected] magent]# ln -svf /usr/lib/libevent* /usr/lib64/
`/usr/lib64/libevent-2.0.so.5‘ -> `/usr/lib/libevent-2.0.so.5‘
`/usr/lib64/libevent-2.0.so.5.1.7‘ -> `/usr/lib/libevent-2.0.so.5.1.7‘
`/usr/lib64/libevent.a‘ -> `/usr/lib/libevent.a‘
`/usr/lib64/libevent_core-2.0.so.5‘ -> `/usr/lib/libevent_core-2.0.so.5‘
`/usr/lib64/libevent_core-2.0.so.5.1.7‘ -> `/usr/lib/libevent_core-2.0.so.5.1.7‘
`/usr/lib64/libevent_core.a‘ -> `/usr/lib/libevent_core.a‘
`/usr/lib64/libevent_core.la‘ -> `/usr/lib/libevent_core.la‘
`/usr/lib64/libevent_core.so‘ -> `/usr/lib/libevent_core.so‘
`/usr/lib64/libevent_extra-2.0.so.5‘ -> `/usr/lib/libevent_extra-2.0.so.5‘
`/usr/lib64/libevent_extra-2.0.so.5.1.7‘ -> `/usr/lib/libevent_extra-2.0.so.5.1.7‘
`/usr/lib64/libevent_extra.a‘ -> `/usr/lib/libevent_extra.a‘
`/usr/lib64/libevent_extra.la‘ -> `/usr/lib/libevent_extra.la‘
`/usr/lib64/libevent_extra.so‘ -> `/usr/lib/libevent_extra.so‘
`/usr/lib64/libevent.la‘ -> `/usr/lib/libevent.la‘
`/usr/lib64/libevent_pthreads-2.0.so.5‘ -> `/usr/lib/libevent_pthreads-2.0.so.5‘
`/usr/lib64/libevent_pthreads-2.0.so.5.1.7‘ -> `/usr/lib/libevent_pthreads-2.0.so.5.1.7‘
`/usr/lib64/libevent_pthreads.a‘ -> `/usr/lib/libevent_pthreads.a‘
`/usr/lib64/libevent_pthreads.la‘ -> `/usr/lib/libevent_pthreads.la‘
`/usr/lib64/libevent_pthreads.so‘ -> `/usr/lib/libevent_pthreads.so‘
`/usr/lib64/libevent.so‘ -> `/usr/lib/libevent.so‘

[[email protected] magent]# make
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
gcc: /usr/lib64/libm.a: No such file or directory
make: *** [magent] Error 1
解决方案:
如果是64bit的系统则不会在/usr/lib64/libm.a 生成,如果是32bit即会有
[[email protected] magent]# yum install glibc glibc-devel
[[email protected] magent]# cp /usr/lib64/libm.so /usr/lib64/libm.a

[[email protected] magent]# make
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
/usr/lib64/libevent.a(event.o): In function `gettime‘:
/usr/local/src/libevent-2.0.19-stable/event.c:366: undefined reference to `clock_gettime‘
/usr/lib64/libevent.a(event.o): In function `detect_monotonic‘:
/usr/local/src/libevent-2.0.19-stable/event.c:336: undefined reference to `clock_gettime‘
collect2: ld returned 1 exit status
make: *** [magent] Error 1
解决方案:
[[email protected] magent]# vim Makefile
CFLAGS = -Wall -g -O2 -I/usr/local/include $(M64)
改为:
CFLAGS = -lrt -Wall -g -O2 -I/usr/local/include $(M64)
[[email protected] magent]# make
gcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a
[[email protected] magent]# ls    终于成功了- -!
ketama.c  ketama.h  ketama.o  magent  magent-0.6.tar.gz  magent.c  magent.o  Makefile
[[email protected] magent]# cp magent /bin/
时间: 2024-10-19 00:21:08

Memcached和Magent简介及安装的相关文章

Redis的简介与安装

1.简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的

memcached在Windows下的安装

memcached简介详情请谷歌.这里介绍如何在windows下安装. 1.下载     下载地址:http://download.csdn.net/detail/u010562988/9456109   2.安装 使用cmd进入到memcached的目录下 使用命令  memcached -d install  即可进行安装          如果没有任何提示那么就安装成功了.这里我已经安装过了一次   3.查看是否安装成功 memcached -h   4.启动服务 打开运行窗口,输入ser

redis简介、安装、配置和数据类型

redis简介.安装.配置和数据类型 redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型. 内置复制.Lua脚本.LRU收回.事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区. Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redi

第一章、MySQL简介及安装

目录 第一章.MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 关系型数据库(RDMS)与非关系型数据库(NoSQL)对比 04 MySQL发展史 05 MySQL正在推动世界 06 MySQL简介及产品线 06 MySQL安装 源码安装MySQL 二进制安装MySQL 第一章.MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 数据(data)是事

memcached在windows7上的安装问题

错误: 通过cmd命令行进入到C:\memcached(下载后的解压目录) 运行 memcached.exe -d install 报错" failed to install service or service already installed" 解决方法: 管理员身份安装,首先找出cmd.exe的原文件 右击以管理员身份运行,接下来就OK(win7下的用户还真麻烦). Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比

Ubuntu下部分软件的简介及其安装步骤

1.安装linux摄像头应用软件cheese sudo apt-get install cheese 2.Ubuntu Tweak    Ubuntu Tweak是一款专门为Ubuntu(GNOME桌面)准备的配置.调整工具.主要面向新手级的普通用户.它可以设置很多并不能在系统首选项中设置的隐藏选项,以满足用户自定义的乐趣.即使是新手,也可以方便地通过它来进行适合自己的系统调整.    安装命令:    第一步:添加tweak源 sudo add-apt-repository ppa:tuala

Node.js【4】简介、安装和配置、快速入门

笔记来自<Node.js开发指南>BYVoid编著 第1章 Node.js简介 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为脚本语言世界的一等公民,在服务端堪与PHP.Python.Perl.Ruby平起平坐. Node.js可以作为服务器向用户提供服务,与PHP.Python.RubyonRails相比,它跳过了Apache.Nginx等HTTP服务器,直接面向前端开发. Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函

Mahout学习之Mahout简介、安装、配置、入门程序测试

一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的

Grant简介以及安装

Grant简介以及安装 1.   安装Grunt-cli需要使用npm,全局安装  命令:npm install –g grunt-cli(可能会涉及权限问题) 注意,安装grunt-cli并不等于安装了 Grunt!Grunt CLI的任务很简单:调用与Gruntfile在同一目录中 Grunt. 这样带来的好处是,允许你在同一个系统上同时安装多个版本的 Grunt. 这样就能让多个版本的 Grunt 同时安装在同一台机器上. npm时node.js的包管理工具( Grunt基于Node.js