热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS系统LNMP环境中安装memcache

一、源码包准备服务器端主要是安装memcache服务器端,目前的最新版本是memcached-v1.4.4。下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安
一、源码包准备
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.4 。
下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,
libevent的最新版本是libevent-1.4.13-stable。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
准备Memcached的PHP扩展的源码安装包:
官网:http://pecl.php.net/get/memcache-2.2.5.tgz
Linux指令下载:
wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
wget http://pecl.php.net/get/memcache-2.2.5.tgz

二、安装与配置
1、先安装libevent
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure --prefix=/usr
make
make install
2、测试libevent是否安装成功
ls -al /usr/lib | grep libevent
libevent-1.1a.so.1
libevent-1.1a.so.1.0.2
libevent-1.4.so.2
libevent-1.4.so.2.1.3
libevent.a
libevent_core-1.4.so.2
libevent_core-1.4.so.2.1.3
libevent_core.a
libevent_core.la
libevent_core.so
libevent_extra-1.4.so.2
libevent_extra-1.4.so.2.1.3
libevent_extra.a
libevent_extra.la
libevent_extra.so
libevent.la
libevent.so
版本不同,可能文件列表不同。
3、安装memcached,同时需要安装中指定libevent的安装位置
tar zxvf memcached-1.4.4.tar.gz
cd memcached-1.4.4
./configure ?with-libevent=/usr
make && make install
安装完成后会把memcached 自动放到 /usr/local/bin/memcached
4、测试是否成功安装memcached
ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 201869 12-14 21:44
/usr/local/bin/memcached
5、安装Memcache的PHP扩展
①安装PHP的memcache扩展
tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/webserver/php/bin/phpize
./configure --enable-memcache
--with-php-cOnfig=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
②上述安装完后会有类似这样的提示:
Installing shared extensions:
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/
③把php.ini中的extension_dir = “./”修改为
extension_dir =
“/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”
④添加一行来载入memcache扩展:extension=memcache.so

三、memcached的基本设置
1.启动Memcache的服务器端:
memcached -d -m 10 -u root -l 202.207.177.177 -p 11211 -c 256 -P
/tmp/memcached.pid
参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址202.207.177.177,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.检查Memcached是否启动
netstat -ant
tcp       
0      0
202.207.177.177:11211      
0.0.0.0:*                  
LIST
11211端口已经打开,说明Memcached已正常启动。
4.重启CentOS
reboot

四、Memcache环境测试
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始你的Memcache的征途吧!
$mem = new Memcache;
$mem->connect("202.207.177.177", 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

著名的PHPCMS同样支持Memcached扩展:

class cache
{
 var $memcache;
    function __construct()
    {
  $this->memcache = &new Memcache;
  $this->memcache->pconnect(MEMCACHE_HOST, MEMCACHE_PORT, MEMCACHE_TIMEOUT);
    }
    function cache()
    {
  $this->__construct();
    }
 function get($name)
    {
        return $this->memcache->get($name);
    }
    function set($name, $value, $ttl = 0)
    {
         return $this->memcache->set($name, $value, 0, $ttl);
    }
    function rm($name)
    {
        return $this->memcache->delete($name);
    }
    function clear()
    {
        return $this->memcache->flush();
    }
}
?>

推荐阅读
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 黄聪:MySQL主从复制配置,实现高效读写分离
    大型网站为应对高并发访问,不仅需要在前端实现分布式负载均衡,还需在数据业务和访问层采取有效措施。采用传统的数据结构已无法满足需求,通过配置MySQL主从复制,可实现高效的读写分离,显著提升系统性能和稳定性。 ... [详细]
  • linux 聊天工具项目,在linux下实现简单聊天系统(一)项目基本框架内容
    项目主要实现的功能:注册,登陆,获取好友列表,一对一聊天,消息群发,离线消息缓存,下线。需要的工 ... [详细]
  • DockerFile部署lnmp+memcached+redis+mongodb开发环境for PHP(三)
    本文源链接地址:https:www.93bok.com1、下载基础镜像centos2、查看一下大小 ... [详细]
  • Go语言实现文件读取与终端输出
    本文介绍如何使用Go语言编写程序,通过命令行参数指定文件路径,读取文件内容并将其输出到控制台。代码示例中包含了错误处理和资源管理的最佳实践。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • Memcached的delete命令用于删除memcached服务器现有的键。语法memcacheddelete命令的基本语法如下所示:deletekey如果键成功删除,则返回DE ... [详细]
  • 2021程序员必看面试指南进大厂年薪百万需要付出多少努力?
    进大厂几点校内募你必须知道!!!1、大部分公司的HR都说我们不看重学历(骗你的!),但是如果你的学校不出众的话,很难在一堆简历中脱颖而出,除非你的简历上有特别的亮点, ... [详细]
  • MySQL 数据库索引技术原理初探
    概述什么是索引一本书500页的书,如果没有目录,直接去找某个知识点,可能需要找一会儿,但是借助前面的目录,就可以快速找到对应知识点在书的哪一页。这里的目录就是索引。所以,为什么会有 ... [详细]
  • PHP 扩展编译的通用方法
    2019独角兽企业重金招聘Python工程师标准以memcache扩展为例子首先需要到软件的官方(如memcached的地址http:pecl.php.netp ... [详细]
author-avatar
w3a00048_304
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有