zoukankan      html  css  js  c++  java
  • Linux下安装Memcache以及安装过程中一些问题的解决方法

    一、下载安装libevent
    
    cd /tmp                                                     #切换到tmp目录
    
    wget http://www.monkey.org/~provos/libevent-1.2.tar.gz      #下载
    
    tar zxvf libevent-1.2.tar.gz                                #解压
    
    cd libevent-1.2                                             #切换到libevent目录
    
    ./configure --prefix=/usr                                   #配置安装路径
    #如果此步骤报错,检查一下有没有安装编译器,没有的话运行以下命令进行安装
    yum install gcc
    
    make                                                        #编译
    #如果提示:make: *** 没有指明目标并且找不到 makefile。 停止。   即为没有安装编译器
    
    make install                                                #安装
    
    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
    
    显示以上信息,即已安装成功
    
    二、下载安装memcache
    
    cd /tmp                                                             #切换到tmp目录
    wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz     #下载
    tar zxvf memcached-1.2.0.tar.gz                                     #解压
    cd memcached-1.2.0                                                  #切换到解压目录
    ./configure --with-libevent=/usr                                    #配置
    make                                                                #编译
    make install                                                        #安装
    
    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
    
    显示以上信息,即已安装成功
    
    三、安装php的memcache扩展 
    http://pecl.php.net/package/memcache 去这个网站下载memcache安装包,我下载的是3.0.8 
    下载完之后拷贝到linux上
    
    #切换到所在目录
    tar vxzf memcache-3.0.8.tgz     #解压
    
    cd memcache-3.0.8               #切换到目录
    
    find / -name 'phpize'               #先找出phpize的位置
    ./usr/bin/phpize                #我的查找结果是这个
    
    /usr/bin/phpize                 #执行此文件
    
    Can't find PHP headers in /usr/include/php
    The php-devel package is required for use of this command.
    #如果出现以上提示,即需要安装php-devel
    
    yum install php-devel           #安装php-devel
    /usr/bin/phpize                 #安装完后再执行此文件
    
    find / -name 'php-config'           #查找这个文件
    ./usr/bin/php-config            #我的查找结果是这个
    
    ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
    #把/usr/bin/php-config改成查找出来的路径,然后执行
    
    make                            #编译
    #如果出现一大堆报错,而且其中有一句是:错误:zlib.h:没有那个文件或目录。    即需要安装zlib-devel
    
    yum install zlib-devel          #安装zlib-devel
    #然后再编译安装就ok了
    make
    make install
    
    安装完之后会有,类似这样的提示
    Installing shared extensions:     /usr/lib64/php/modules/
    
    把php.ini中的extension_dir修改为这个路径就可以了
    extension_dir = "/usr/lib64/php/modules/"
    
    再在php.ini中添加一行
    extension=memcache.so
    
    三、启动memcache
    
    /usr/local/bin/memcached -P /tmp/memcached.pid -d -m 20 -p 11211 -u root
    
    各参数说明:
    -d:启动一个守护进程
    -m:分配给Memcache的内存大小,单位是M
    -u:运行Memcache的用户
    -l:监听的服务器IP地址
    -p:Memcache的监听端口,最好是1024以上的端口
    -c:最大并发数,默认是1024
    -P:设置保存Memcache的pid文件,我设置的是保存在/tmp/memcached.pid
    
    如果出现如下错误:
    /usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory
    即原因可能是memcached找不到libevent的位置
    
    查看libevent的位置在哪
    find / -name libevent-1.2.so.1
    /usr/lib/libevent-1.2.so.1      查出来是在这里
    
    然后查看memcache是在哪查找libevent的
    LD_DEBUG=libs memcached -v
    然后输出了一大堆信息
    15008:  find library=libevent-1.2.so.1 [0]; searching
         15008:  search cache=/etc/ld.so.cache
         15008:  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)
         15008:   trying file=/lib64/tls/x86_64/libevent-1.2.so.1
         15008:   trying file=/lib64/tls/libevent-1.2.so.1
         15008:   trying file=/lib64/x86_64/libevent-1.2.so.1
         15008:   trying file=/lib64/libevent-1.2.so.1
         15008:   trying file=/usr/lib64/tls/x86_64/libevent-1.2.so.1
         15008:   trying file=/usr/lib64/tls/libevent-1.2.so.1
         15008:   trying file=/usr/lib64/x86_64/libevent-1.2.so.1
         15008:   trying file=/usr/lib64/libevent-1.2.so.1
    
    看到memcache是在/usr/lib64/查找libevent的
    
    所以创建链接
    ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
    
    再启动memcache
    /usr/local/bin/memcached -P /tmp/memcached.pid -d -m 20 -p 11211 -u root
    
    启动成功
    
    四、测试
    
    重启apache
    service httpd restart
    
    创建php文件
    <?php
    $m = new Memcache;
    if(!$m->connect('127.0.0.1', 11211)){
        die('连接失败');
    }
    $m->set('key', 'memcache安装成功', 0, 60);
    echo $m->get('key');
    
    至此,memcache已安装完成
    
    设置开机自启动: 
    在/etc/rc.d/rc.local中加入启动命令即可
    
    关闭memcache:
    
    kill `cat /tmp/memcached.pid`
    --------------------- 
    
    原文:https://blog.csdn.net/codercwm/article/details/52625669?utm_source=copy 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    选项卡
    使用script创建标签添加属性值和添加样式
    判断表单不能为空(表格形式的)
    数组
    关于meta元信息元素
    js判断数据类型
    Ising模型的Metropolis模拟中的组态阻塞和振荡
    python 画能级图
    python 调用 shell 命令,制作用户界面
    打包 python 程序,变成一个可执行文件
  • 原文地址:https://www.cnblogs.com/limonyun/p/9789101.html
Copyright © 2011-2022 走看看