linux(Centos)上memcacheq成功安装及使用

一:安装memcached

1.下载memcached包

下载地址:http://www.memcached.org (最新包就在首页,点击下载就OK)

解压包:# tar -zxvf memcached-1.4.13.tar.gz (根据自身的情况解压到目录)

进入目录:# cd memcached-1.4.13

2.安装libevent

检查一下有没有安装libevent: ls -al /usr/lib |grep libevent

如果没有就安装libevent ,下载地址:http://www.libevent.org (首页 Download–Stable releases)

解压:# tar -zxvf libevent-***-.tar.gz

#cd libevent-***-

#./configure --prefix=/usr

#make && make install

安装完检测下  ls -al /usr/lib |grep libevent

lrwxrwxrwx   1 root root        21 02-06 20:26 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3

.................................

-rw-r--r--   1 root root     11838 04-13 14:03 libevent_pthreads.a

-rwxr-xr-x   1 root root       996 04-13 14:03 libevent_pthreads.la

lrwxrwxrwx   1 root root        30 04-13 14:03 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.6

lrwxrwxrwx   1 root root        21 04-13 14:03 libevent.so -> libevent-2.0.so.5.1.6

3.安装memcached

预安装:#./configure --prefix=/usr/local/memcached --with-libevent=/usr

注意:在没有安装libevent的情况下,会报错( If it‘s already installed, specify its path using --with-libevent=/dir/);

编译并且安装:# make && make install

OK安装成功.

启动memcached:

# /usr/local/memcached/bin/memcached -l 192.168.1.144 -d -p 11211 -u nobody -m 1024

说明:上面的命令中-d表示用 daemon 的方式启动 memcached,-l和-p组合表示监听在 192.168.1.144 的 11212 端口上(如果不用-p指定端口号,则memcached将运行在11211端口    上),-u表示运行用户为 nobody,-m表示为其分配1024MB 的内存。

连接 memcached: # telnet 192.168.1.144 11211

到这里 memcached就已经安装好了。

增加到开机启动

# vi /etc/rc.local

增加:

/usr/local/memcached/bin/memcached -l 192.168.1.144 -d -p 11211 -u nobody -m 1024

二:安装memcacheq

1.下载memcacheq包

下载地址:http://code.google.com/p/memcacheq/downloads/list

解压包:# tar -zxvf memcacheq.0.2.tar.gz (根据自身的情况解压到目录)

进入目录:# cd memcacheq-0.2.0

2.安装 BerkeleyDB

下载地址:http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html

下载地址请求:wget wget http://download.oracle.com/berkeley-db/db-5.3.15.tar.gz  (成功)

解压包:# tar -zxvf db-5.3.15.tar.gz (根据自身的情况解压到目录)

进入目录:# cd db-5.3.15

# cd build_unix

#../dist/configure --prefix=/usr/local/BerkeleyDB.5.3

# make && make install

#vi /etc/ld.so.conf

增加:

/usr/local/lib

/usr/local/BerkeleyDB.5.3/lib

#vi /etc/profile

增加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/BerkeleyDB.5.3/lib

3.安装memcacheq (注: 下文中的5.3是berkeleyDB的版本  请根据实际情况操作)

预安装:./configure --prefix=/usr/local/memcacheq --enable-threads --with-libevent=/usr/local/libevent

注意:在没有安装BerkeleyDB的情况下,会报错( configure: error: cannot find libdb.so in /usr/local/BerkeleyDB.5.3/lib);

我的提示configure: error: cannot find libdb.so in /usr/local/BerkeleyDB.5.3/lib报错,我的解决方法:

装berkeley-db

wget http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz

tar zxf db-4.7.25.tar.gz

cd db-4.7.25/build_unix/

../dist/configure

make

make install

#编译完成,将Berkeley Db运行库的路径添加到系统配置里面

echo "/usr/local/BerkeleyDB.4.7/lib/" >> /etc/ld.so.conf

ldconfig

测试:/usr/local/memcacheq/bin/memcachq -h

运行报:

memcacheq: error while loading shared libraries: libdb-5.3.so: cannot open shared object file: No such file or directory

解决方法:ln -s /usr/local/BerkeleyDB.5.3/lib/libdb-5.3.so /usr/lib/libdb-5.3.so

连接:/usr/local/memcacheq/bin/memcacheq  -d -r -uroot -p12002 -H /var/mcq/data -N -R -v -L 1024 -B 1024 > /var/mcq/logs/mq_error.log 2>&1

其中过程遇到了很多问题,例如动态库位置,环境变量

inux上启动Memcache报错:

Shell代码  

  1. [[email protected] memcached]# ./bin/memcached -d -m 2048 -p 11211 -u root
  2. ./bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.

因为我已经安装了libevent,所以应该是程序按照默认共享路径库去找,但是没有找到导致的。

首先使用find命令找到libevent-1.4.so.2文件在哪儿

Shell代码  

  1. [[email protected] memcached]# find /usr -name libevent-1.4.so.2
  2. /usr/libevent/lib/libevent-1.4.so.2

根据debug日志可以看到,程序只会去/lib 和/usr/lib下去寻找需要的共享链接库。

而我的libevent是安装在/usr/libevent/lib/下,所以memcache启动的时候并不知道该去这下面找,所以会报错

所以安装共享库后要注意共享库路径设置问题, 如下:

1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

Shell代码  

  1. [[email protected] memcached]# cat /etc/ld.so.conf
  2. include ld.so.conf.d/*.conf

如上所示:/etc/ld.so.conf配置文件中内容只有一行,

ld.so.conf.d/*.conf的意思就是包含ld.so.conf.d/目录下以.conf为后缀的文件

所以我们可以在/etc/ld.so.conf.d目录下新建一个libevent.conf的配置文件,然后把libevent安装路径配置好

我的libevent内容如下:

Shell代码  

  1. [[email protected] ld.so.conf.d]# cat libevent.conf
  2. /usr/libevent/lib

配置完后执行以下ldconfig命令

Shell代码  

  1. [[email protected] ~]#ldconfig

3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下,  但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

启动

/usr/local/memcacheq/bin/memcacheq  -d -r -uroot -p12002 -H /var/mcq/data -N -R -v -L 1024 -B 1024 > /var/mcq/logs/mq_error.log 2>&1

附带介绍ruby相关的安装:

   Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自己的应用做了改进 ,他们认为网站速度快了很多.

这是一个支持memcache协议的轻量级持久化服务器,因此使用php/perl/ruby/java等多种客户端都没问题,可以将较慢的处理逻辑通过消息队列放在后台处理,同时也支持多点分布式处理。

由于starling是目前twitter在生产环境中运行的,经过实践检验过,稳定性应该不成问题。

安装:

1.安装linux下的开发工具包,最好使用red hat的添加删除程序安装.

(1)在可视化窗口下载打开"添加删除程序",找到"开发->开发工具"打钩,更新.插入 对应的linux安装盘.

2.安装ruby和ruby gem

(1)安装钱的准备

检查系统是否已经安装了 ruby,

#rpm -qa | egrep ‘(ruby)|(irb)‘

如果已安装,而且不是你所要的版本,则需要先卸载她,如,

#rpm -e ruby-docs-1.8.1-7.EL4.2 \

ruby-1.8.1-7.EL4.2 \

irb-1.8.1-7.EL4.2 \

ruby-libs-1.8.1-7.EL4.2 \

ruby-mode-1.8.1-7.EL4.2 \

ruby-tcltk-1.8.1-7.EL4.2 \

ruby-devel-1.8.1-7.EL4.2

(2)安装 Ruby

假设 Ruby 安装到 /usr/local/ruby

#mkdir /usr/local/ruby

#tar -zxvf ruby-1.8.4.tar.gz

#cd ruby-1.8.4

#./configure --prefix=/usr/local/ruby

#make

#make install

(3)设置路径

#vi /etc/profile

在该文件中加入,

RUBY_HOME=/usr/local/ruby

PATH=$PATH:$RUBY_HOME/bin

export RUBY_HOME PATH

(4)检查是否安装成功

重新登录,

#ruby -v

如果能显示 ruby 的版本信息(ruby 1.8.4 (2005-12-24) [i686-linux]),则说明已安装成功。

(5)安装 Ruby Gems

#tar -zxvf rubygems-0.9.0.tgz

#cd rubygems-0.9.0

#ruby setup.rb

我是用成功的方法是:yum install rubygems

(6)检查是否安装成功

#gem -v

如果能显示 gem 的版本信息(0.9.0),则说明已安装成功。

本文参考来源: http://www.cnblogs.com/sunzy/archive/2012/04/13/2446234.html

http://blog.csdn.net/li_yang98/article/details/6208223等

时间: 2024-08-24 12:20:22

linux(Centos)上memcacheq成功安装及使用的相关文章

在Linux CentOS上编译并安装Clang 3.5.0

编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装. (注:CentOS的版本是6.6) 一.安装libstdc++4.7 wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo yum install devtoolset-2-gcc dev

在Linux(centos)上安装PHP的mongodb扩展 成功试过的

到http://pecl.php.net/package/mongo下载相应的mongodb客户端,本例为1.2.1# wget http://pecl.php.net/get/mongo-1.2.1.tgz# tar xvzf mongo-1.2.1.tgz# cd mongo-1.2.1# phpize(如果不识别的话安装php5-devel:yum -y install php-devel)# pecl install mongo(如果不识别的话安装php-pear:yum -y inst

NoSql1 在Linux(CentOS)上安装memcached及使用

前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看下这部分的基础知识,所以现在打算好好把这两部分的基础再看一看.我会把看到的东西努力记录下来,给自己以后留个参考,如果能帮助到大家,自然是更好了~. 1.在Linux(CentOS)上安装memcached及使用.http://www.cnblogs.com/PurpleDream/p/4298208

在Linux(CentOS)上安装MySql详细记录

前记:  毕业两年了,前两天换了份工作,由以前的传统行业跳到了互联网行业.之前的公司一直在用WinServer2003+Tomcat+SqlServer/Oracle这套部署环境.对于Linux+Tomcat(或其他容器)+Mysql这套之前没用用过.所以利用这周末的我在阿里云上49元搞了个linux(centos 64位)的服务器. 刚开始先装了JDK1.6,安装了Tomcat6.0.这过程中没有遇到太大的问题, 小问题也google一下就解决了.而周六晚上开始安装Mysql,于是到今天下午为

在 Linux 系统上源码安装 GTK+ 2.0

在 Linux 系统上源码安装 GTK+ 2.0==================================================Keywords: GTK+, Install, Linux, SourceAuthor:       whyglinux (whyglinux AT hotmail DOT com)Date:          2007-01-07==================================================目录0. 前言1.

在CentOS上使用yum安装MySQL+安全优化

0.说明 使用yum安装的好处是,你不用自己去解决软件之间的依赖问题,基本上yum执行完成,也就把软件安装好了,下面介绍使用yum的方法来安装MySQL,同时也会介绍安装完成后的安全优化. 注意:下面的操作都是以新安装的CentOS  6.5来作为演示的. 1.使用yum安装MySQL 查看是否已经安装MySQL: [[email protected]]# yum list installed | grep mysql 如果你在安装CentOS的时候指定了安装MySQL数据库,就要有显示,这里我

linux(CentOS)下Mrtg的安装詳解

linux(CentOS)下Mrtg的安装詳解 MRTG非常強大,他可以監控你的服務器的一舉一動,並且用web方式呈現給你,告訴你網絡,cpu,內存,硬盤等使用狀況,但是配置起來這個軟件實在是非常麻煩. 爲了安裝這個軟件且將其配置好,我上網查了兩天資料,最後整理總結了這一份完整的出來,分享給大家,希望對大家有用.如要轉載請注明出處www.7di.net 一.前期準備(1)MRTG需要以SNMP服务为基础,所以请确保你的系统已经启用了此服务,修改SNMP的配置:#vi /etc/snmp/snmp

mysql在centos上的编译安装

环境:centos6.5  mysql-5.6.17.tar.gz wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz yum install -y gcc gcc-c++ gcc-c++.x86_64 bison.x86_64 libaio.x86_64 cmake.x86_64 ncurses-devel.x86_64 后面根据官方文档: MySQL 5.6 Manual 2.8.2 Installing MyS

How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】

How to mount remote Windows shares Contents Required packages Basic method Better Method Even-better method Yet Another Even-better method OK, we live in the wonderful world of Linux. BUT, for many of us, having to deal with Windows is a fact of life