最近在研究怎么让Discuz!去应用Memcache去做一些事情,记录下Memcache安装的过程。
详细的方法如下:
1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr/local
# make
# make install3.测试libevent是否安装成功:
# ls -al /usr/local/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
还不错,都安装上了。4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure --with-libevent=/usr/local
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,5.测试是否成功安装memcached:
# 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
安装Memcache的PHP扩展(如果不使用PHP此步可以不用做)
1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展
tar vxzf memcache-2.2.1.tgz
cd memcache-2.2.1
/usr/local/php/bin/phpize
./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
make
make install
3.上述安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
4.把php.ini中的extension_dir = “./”修改为
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”
5.添加一行来载入memcache扩展:extension=memcache.so
memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-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,
2.如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.重启apache,service httpd restart
Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->connect(”127.0.0.1″, 11211);
$mem->set(’key’, ‘This is a test!’, 0, 60);
$val = $mem->get(’key’);
echo $val;
?>
参考资料:
对Memcached有疑问的朋友可以参考下列文章:
Linux下的Memcache安装:http://www.ccvita.com/257.html
Windows下的Memcache安装:http://www.ccvita.com/258.html
Memcache基础教程:http://www.ccvita.com/259.html
Discuz!的Memcache缓存实现:http://www.ccvita.com/261.html
Memcache协议中文版:http://www.ccvita.com/306.html
Memcache分布式部署方案:http://www.ccvita.com/395.html
我启动我的memcache的命令是:
./memcached -d -m 64 -u root -l 10.1.2.135 -p 11211 -c 256 -P /tmp/memcached.pid
./memcached -d -m 64 -u root -l 10.1.2.135 -p 11212 -c 256 -P /tmp/memcached.pid
./memcached -d -m 64 -u root -l 10.1.2.135 -p 11213 -c 256 -P /tmp/memcached.pid
其中10..1.2.135为memcache所在的服务器的地址,可以同时启动多个mem的守护进程缓存数据,但是端口号是不能相同的。
我安装memcache时也遇到了一个问题:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
主要是看最后一行提示的错误,那么我们:
以下是代码片段:
ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
ldconfig
之后再次运行就可以了
遇到问题参考链接:http://hi.baidu.com/beibeiboo/blog/item/fda3f71017f34d04213f2efe.html
附件中有libevent和memcache的软件
相关推荐
### Linux环境下JDK、Tomcat、MySQL与Memcached的安装部署详解 #### 一、安装JDK 在Linux系统上安装Java Development Kit (JDK) 是进行Java开发的基础步骤之一。 1. **安装JDK(RPM包)** - **步骤1**: 使用`rpm...
【描述】:“第2章 memcached使用2.1 安装memcached2.1.1 环境说明CentOS Linux release 7.4.1708 (Core)[roo” 在IT行业中,数据库管理和优化是至关重要的,特别是在高并发的Web应用程序中。缓存技术如memcached被...
在MySQL数据库系统中,查询缓存是一个非常重要的性能优化机制,它允许服务器存储先前执行的SQL查询及其结果,以便在后续请求相同查询时快速返回结果,而无需再次解析和执行查询。然而,这也可能导致某些情况下优化...
在本篇文章中,我们将详细探讨在CentOS环境下安装和配置Nginx 0.8.52、PHP 5.3.3、MySQL 5.5.6以及Memcached 1.4.5这一系列软件的过程,同时还会对配置进行优化以达到提升性能的目的。这些技术组件共同构成了一个...
标题中的"memcached_functions_mysql"暗示了我们讨论的是关于Memcached在MySQL环境中的使用,特别是与MySQL相关的函数。Memcached是一种高性能的分布式内存对象缓存系统,常用于加速动态Web应用,通过在内存中存储...
2.2 MySQL数据库分类与版本升级 MySQL数据库分为商业版和社区版,商业版提供更多的技术支持和高级特性,而社区版则是免费的,由全球开发者共同维护。MySQL的版本升级通常伴随着新功能的添加、性能优化以及安全性的...
在Linux环境下,可以使用包管理器(如apt或yum)安装Memcached。配置文件通常位于/etc/memcached.conf,可以设置监听端口、最大内存、超时时间等参数。 **编程接口** Memcached提供了多种语言的客户端库,如PHP、...
"memcached在gcc 3.3.4下的安装和使用_lj_gcc调用memcached实现缓存MySQL的查询结果.txt"详细阐述了在特定版本的GCC下安装和使用Memcached,以及如何将Memcached用于缓存MySQL查询结果。 "libmemcached.so.2 cannot...
标题“mysql wp memcached”指的是将MySQL数据库、WordPress(WP)平台与Memcached缓存系统相结合的使用场景。在这个主题中,我们将深入探讨这三者之间的集成,以及它们如何协同工作以提高Web应用的性能。 MySQL是...
Apache负责处理前端请求,Perl作为后端逻辑处理语言,MySQL作为数据存储,而memcached则用于缓存数据,减少数据库访问压力。这种架构充分利用了各技术的优势,不仅提高了网站的响应速度,还增强了系统的扩展性和稳定...
本文档将详细介绍如何在Linux环境下快速安装并配置Apache Web服务器、MySQL数据库、PHP解析器及其相关组件,以便能够顺利地部署基于LAMP(Linux, Apache, MySQL, PHP)架构的应用程序。相较于传统的手动编译安装,...
- 在Linux系统中,我们通常使用YUM工具来安装软件包。为了安装最新的软件版本,我们需要先修改YUM源。 - 修改`/etc/yum.repos.d/epel.repo`文件,添加EPEL和Nginx的YUM源配置信息。 2. **安装LNMP组件**: - ...
- 使用MySQL缓存机制,如查询缓存(query cache)。 - 第三方缓存解决方案,如Memcached或Redis。 ##### 2.3 高级特性 - **事务(Transaction)** - 事务是一系列操作的集合,这些操作要么全部成功,要么全部失败。...
然而,如果使用MySQL 5.6中的Memcached插件,将MySQL作为缓存系统,那么对CPU的要求可能会上升。 内存是影响MySQL性能的关键因素。理想的状况是所有数据页都能存储在缓冲池中,以达到最佳性能。然而,实际中数据库...
MySQL是目前使用最为广泛的开源数据库管理...通过以上知识点的介绍,无论是新手用户还是经验丰富的专业人员,都能够从这份“mysql安装使用说明文档”中获得需要的信息,以便更好地安装、使用和管理MySQL数据库系统。
【标题】"dtcms4 mysql linux 运行版本"指的是DTcms内容管理系统在Linux操作系统上运行的第四个主要版本,该版本与MySQL数据库系统相结合。需要注意的是,这个版本可能并非官方发布,所以可能存在一些未公开的修改...
在IT行业中,Linux操作系统、Tomcat应用服务器以及MySQL数据库是企业级系统开发和运维的三大重要组成部分。本文将深入探讨如何在Linux环境下安装这两大组件,并进行相应的性能优化。 首先,我们来关注Linux的安装。...