您现在的位置:爱折腾>> Linux>>正文内容

Directadmin中安装Memcache提高性能

最近一直在提升主机的性能。更好的为客户服务、现在主机上已经安装 eAccelerator php加速. 今天在给服务器安装上Memcache. 这样使用Wordpress的客户就可以提升自己博客的访问速度了。

#默认安装的时候需要lib-dev 库。为了下面编译不出错。这里先安装 libevent
yum install libevent-devel -y
#测试libevent是不是已经安装成功
 ls -al /usr/lib | grep libevent 
// 如果下面列出了.so包文件,OK
如果没有安装 使用下面的。
wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
tar -xvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure;make;make install;

// 下面开始安装Memcache
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
gunzip memcached-1.4.15.tar.gz
tar -xvf memcached-1.4.15.tar
cd memcached-1.4.15
./configure;
make && make install

/*****/
这里有可能会编译失败。
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

需要解决办法:
vi /etc/ld.so.conf.d/libevent-i386.conf
在里面写
/usr/local/lib/
然后执行
ldconfig //  使变量生效

现在来启动Memcache
memcached -d -u nobody -m 1024 127.0.0.1 -p 11211
// 这里默认监听的11211端口 
如果没有报错。可以再次检查下启动么有
ps -aux | grep memcache
如果存在就是正常的
/****/
下面开始安装php的配置。告诉php来运行
wget https://launchpad.net/libmemcached/1.0/1.0.10/+download/libmemcached-1.0.10.tar.gz
tar -zxvf libmemcached-1.0.17.tar.gz
cd libmemcached-1.0.17
./configure
/***
编译完成没有错误。会出下面的成功提示:

/*

 * CPP Flags:                  -fvisibility=hidden
   * LIB Flags:                 
   * Assertions enabled:        no
   * Debug enabled:             no
   * Shared:                    yes
   * Warnings as failure:       no
   * SASL support:              yes
   * make -j:                   3
   * VCS checkout:              no

---

*/
make && make install

/*******/
这里也会可能会出现下面的错误

/*
make[1]: *** [libmemcached/libmemcached_libmemcached_la-allocators.lo] 错误 1
make[1]: *** 正在等待未完成的任务....
In file included from ./libmemcached/common.h:114,
                 from libmemcached/analyze.cc:1:
./libmemcached-1.0/memcached.h:46:27: error: tr1/cinttypes: No such file or directory
make[1]: *** [libmemcached/libmemcached_libmemcached_la-analyze.lo] 错误 1
make[1]: Leaving directory `/root/libmemcached-1.0.17'
make: *** [all] 错误 2

*/
这里需要安装:
yum install gcc44 gcc44-c++ libstdc++44-devel -y
export CC=/usr/bin/gcc44
export CXX=/usr/bin/g++44
再次执行 
./configure
make && make install
问题解决
下面要让php知道 memcache可以用了。
pecl install memcached 

安装完成
Build process completed successfully
Installing '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.ini
在你的php.ini 里面添加
;memcache
extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/memcached.so"
然后重启 
service httpd restart
查看phpinfo 里面是否有扩展

相关文章