`
wenson
  • 浏览: 1047865 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux下的Memcache安装

阅读更多

在一台64位Linux的机器上安装了MemCached,遇到一个小问题,特记录之。

MemCached 使用了libevent ,所以必须先安装 libevent。安装libevent到/usr/lib

wget http://www.monkey.org/~provos/libevent-1.4.9-stable.tar.gz
gzip -d libevent-1.4.9-stable.tar.gz
tar xvf libevent-1.4.9-stable.tar
cd libevent-1.4.9-stable
./configure --prefix=/usr
make
make install

安装MemCached的到/opt/memcached

wget http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz
gzip -d memcached-1.2.6.tar.gz
tar xvf memcached-1.2.6.tar
cd memcached-1.2.6
./configure --prefix=/opt/memcached --with-libevent=/usr
make
make install

但是执行memcached命令时出现错误:

#/opt/memcached/bin/memcached -h
/opt/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:
cannot open shared object file: No such file or directory

一般对于这种依赖的库找不到的情况,在Linux中可以通过设置LD_DEBUG 环境变量来获得更多的信息

#LD_DEBUG=help ls
Valid options for the LD_DEBUG environment variable are:

  libs        display library search paths
  reloc       display relocation processing
  files       display progress for input file
  symbols     display symbol table processing
  bindings    display information about symbol binding
  versions    display version dependencies
  all         all previous options combined
  statistics  display relocation statistics
  unused      determined unused DSOs
  help        display this help message and exit

To direct the debugging output into a file instead of standard output
a filename can be specified using the LD_DEBUG_OUTPUT environment variable.

这里由于是库文件依赖有问题,则使用libs参数:

#LD_DEBUG=libs /opt/memcached/bin/memcached -h
     30596:     find library=libevent-1.4.so.2 [0]; searching
     30596:      search cache=/etc/ld.so.cache
     30596:      search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64
/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64
(system search path)
     30596:       trying file=/lib64/tls/x86_64/libevent-1.4.so.2
     30596:       trying file=/lib64/tls/libevent-1.4.so.2
     30596:       trying file=/lib64/x86_64/libevent-1.4.so.2
     30596:       trying file=/lib64/libevent-1.4.so.2
     30596:       trying file=/usr/lib64/tls/x86_64/libevent-1.4.so.2
     30596:       trying file=/usr/lib64/tls/libevent-1.4.so.2
     30596:       trying file=/usr/lib64/x86_64/libevent-1.4.so.2
     30596:       trying file=/usr/lib64/libevent-1.4.so.2
     30596:
/opt/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:
cannot open shared object file: No such file or directory

可以看到是在加载/usr/lib64/libevent-1.4.so.2文件时出现了问题,系统中确实是没有该文件的,查找后发现 libevent-1.4.so.2存在于/usr/lib目录,这可能是libevent在64位Linux系统上的一个bug吧,没有关系,复制一份 或者建一个软链接即可解决问题。

#ln -s /usr/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2
#/opt/memcached/bin/memcached -h
memcached 1.2.6
-p       TCP port number to listen on (default: 11211)
-U       UDP port number to listen on (default: 0, off)
-s      unix socket path to listen on (disables network support)
-a      access mask for unix socket, in octal (default 0700)
-l   interface to listen on, default is INDRR_ANY
-d            run as a daemon
-r            maximize core file limit
-u  assume identity of  (only when run as root)
-m       max memory to use for items in megabytes, default is 64 MB
-M            return error on memory exhausted (rather than removing items)
-c       max simultaneous connections, default is 1024
-k            lock down all paged memory.  Note that there is a
              limit on how much memory you may lock.  Trying to
              allocate more than that would fail, so be sure you
              set the limit correctly for the user you started
              the daemon with (not for -u  user;
              under sh this is done with 'ulimit -S -l NUM_KB').
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-h            print this help and exit
-i            print memcached and libevent license
-b            run a managed instanced (mnemonic: buckets)
-P      save PID in , only used with -d option
-f    chunk size growth factor, default 1.25
-n     minimum space allocated for key+value+flags, default 48

启动MemCached,-m表示分配的内存

#/opt/memcached/bin/memcached -d -m 1024 -u admin -l 127.0.0.1 -p 11211

 

 


memcache启动参数说明:

-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
分享到:
评论

相关推荐

    在Linux下memcache安装配置文档

    在深入探讨Linux下memcache的安装与配置过程之前,我们先来了解一下memcache的基本概念及其在现代IT架构中的重要性。Memcache(现在通常指代memcached)是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用...

    linux MemCache 安装手册

    这个安装手册将引导你完成在Linux环境下安装和配置Memcached的过程。 首先,让我们了解Memcached的基本概念。Memcached是一个基于内存的数据存储系统,它能够存储键值对,并通过网络在多个服务器之间共享这些数据。...

    Linux安装Memcache

    本文将详细介绍如何在Linux环境下安装和配置Memcache服务器端及PHP扩展。 首先,确保你的系统满足基本的安装条件。你需要一个支持编译的环境,通常在Linux发行版中,如Ubuntu、CentOS或Debian,这些环境已经预装。...

    Linux环境下Memcache的安装

    本教程将详细介绍如何在Linux上安装Memcache。 首先,我们需要获取Memcache的安装包。当前的最新版本可以在Google Code项目页面下载,地址为http://code.google.com/p/memcached/downloads/list。在本文中,我们以...

    memcache for linux

    linux平台使用的memcache压缩包,解压缩之后运行make && make install安装, 然后/usr/local/memcache/bin/memcache -d -m 1024 -u root -p 11211 -c 1024命令运行memcache

    Linux下Memcache的源码安装

    本文将详细讲解如何在Linux环境下通过源码安装Memcached,并涉及其依赖库libevent的安装过程。 首先,我们需要下载Memcached的源码包。在本例中,我们使用的版本是memcached-1.2.6,可以从官方网站...

    linux下安装memcache

    在Linux环境下安装Memcached是一项常见的任务,特别是在搭建高性能、分布式内存缓存系统时。Memcached是一款轻量级的、开源的、基于内存的数据存储服务,它用于存储小块的任意类型的数据,如数据库查询结果、网页...

    memcache安装详细步骤

    当初自己在linux下安装memcache缓存服务器,由于第一次操作,花费不少时间, 搞了半天记录成文档,亲自测试启动memcache可以运行,分享给第一次操作的生手。 如果本机linux有lib库也可以直接编译自己的lib库(建议...

    linux环境memcache详细安装步骤(含memcache软件包)

    以下是一份详细的Linux环境下Memcached的安装步骤,包括所需软件包的获取和配置。 1. **系统准备**: - 首先,确保你的Linux发行版是基于Debian或Red Hat的,因为这些系统的包管理器支持Memcached。 - 更新系统包...

    Ubuntu下安装memcache

    以下详细知识点将基于给定文件内容,具体介绍在Ubuntu环境下安装memcache的流程。 首先,需要了解Memcache是一种高性能的分布式内存对象缓存系统,用于加速动态web应用,减少数据库的负载。在Linux环境下,尤其...

    Linux下memcache编译安装与基本使用教程

    一、在 linux 编译安装memcache、redis等,需要 gcc,make,cmake,autoconf,libtool 等工具, 直接使用yum安装即可: yum install gcc make cmake autoconf libtool 二、下载官方源码: memcached依赖于libevent库,因此...

    memcache安装

    本文将详细介绍如何在Linux环境下安装Memcache,并确保其正常运行。 #### 一、环境准备与依赖项安装 在进行Memcache安装之前,需要确保服务器已经安装了一些必要的工具和库文件。首先检查服务器是否安装了`...

    windows下安装memcache

    在Windows环境下安装Memcache是一个相对较为特殊的操作,因为Memcache主要设计用于Unix/Linux系统,但通过一些工具和步骤,我们也可以在Windows上实现这一过程。本文将详细介绍在Windows上安装Memcache的步骤,并...

    windowsLinux下memcache 和Redis 配置文件 php5.0-7.0

    1. **安装**:与memcache类似,你可以通过源码编译或使用包管理器在Windows和Linux上安装Redis。 2. **启动与配置**:Redis配置主要修改`redis.conf`文件,设置端口、密码、持久化策略等。启动Redis服务器,通常...

    linux下的memcache-2.2.4

    本文将详细介绍Linux环境下安装Memcached 2.2.4的步骤以及其核心概念。 **一、Memcached的核心概念** 1. **分布式缓存**:Memcached支持分布式缓存,可以在多台服务器上部署,通过一致性哈希策略分发数据,实现跨...

    linux memcache应用

    linux 基本操作,memcache应用,主要用于WEB站点。

    php memcache-3.0.9.tar.gz php7 扩展 linux 包

    本文将深入探讨如何在PHP7环境下安装和使用Memcache扩展3.0.9版本,以解决描述中提到的编译安装问题。 首先,我们来看标题中的"php memcache-3.0.9.tar.gz",这表明我们要处理的是一个tar.gz格式的压缩包,里面包含...

Global site tag (gtag.js) - Google Analytics