dsqzhaoyue 发表于 2015-11-18 08:49:08

linux下安装libevent和memcache

引文地址:http://blog.iyunv.com/rainysia/article/details/6780554

1: 还是下载
Memcache是用C编写的,要用到C的libevent来处理接口
点击下载memcached-1.4.0.tar.gz

下载libevent-2.0.13-stable.tar.gz
下载memcache-3.0.6.tgz



我下载到了/root/Downloads


2:解压编译
a:先安装libevent

viewplaincopy
[*]#cd /Downloads
[*]#tar zvxf libevent-2.0.13-stable.tar.gz
[*]#cd libevent-2.0.13-stable
[*]#./configure --prefix=/usr
[*]#make
[*]#make install
查看下安装是否成功

viewplaincopy
[*]# ls -al /usr/lib | grep libevent


viewplaincopy
[*]lrwxrwxrwx   1 root root         21 2011-03-30 11:03 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3
[*]-rw-r--r--   1 root root      91768 2009-12-06 05:52 libevent-1.4.so.2.1.3
[*]lrwxrwxrwx   1 root root         21 2011-09-16 01:41 libevent-2.0.so.5 -> libevent-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root       817306 2011-09-16 01:41 libevent-2.0.so.5.1.2
[*]-rw-r--r--   1 root root      1048354 2011-09-16 01:41 libevent.a
[*]lrwxrwxrwx   1 root root         26 2011-09-16 01:41 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root       499865 2011-09-16 01:41 libevent_core-2.0.so.5.1.2
[*]-rw-r--r--   1 root root       657028 2011-09-16 01:41 libevent_core.a
[*]-rwxr-xr-x   1 root root          968 2011-09-16 01:41 libevent_core.la
[*]lrwxrwxrwx   1 root root         26 2011-09-16 01:41 libevent_core.so -> libevent_core-2.0.so.5.1.2
[*]lrwxrwxrwx   1 root root         27 2011-09-16 01:41 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root       335387 2011-09-16 01:41 libevent_extra-2.0.so.5.1.2
[*]-rw-r--r--   1 root root       391398 2011-09-16 01:41 libevent_extra.a
[*]-rwxr-xr-x   1 root root          975 2011-09-16 01:41 libevent_extra.la
[*]lrwxrwxrwx   1 root root         27 2011-09-16 01:41 libevent_extra.so -> libevent_extra-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root          933 2011-09-16 01:41 libevent.la
[*]lrwxrwxrwx   1 root root         29 2011-09-16 01:41 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root      80238 2011-09-16 01:41 libevent_openssl-2.0.so.5.1.2
[*]-rw-r--r--   1 root root      86344 2011-09-16 01:41 libevent_openssl.a
[*]-rwxr-xr-x   1 root root         1004 2011-09-16 01:41 libevent_openssl.la
[*]lrwxrwxrwx   1 root root         29 2011-09-16 01:41 libevent_openssl.so -> libevent_openssl-2.0.so.5.1.2
[*]lrwxrwxrwx   1 root root         30 2011-09-16 01:41 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.2
[*]-rwxr-xr-x   1 root root      15733 2011-09-16 01:41 libevent_pthreads-2.0.so.5.1.2
[*]-rw-r--r--   1 root root      12998 2011-09-16 01:41 libevent_pthreads.a
[*]-rwxr-xr-x   1 root root          996 2011-09-16 01:41 libevent_pthreads.la
[*]lrwxrwxrwx   1 root root         30 2011-09-16 01:41 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.2
[*]lrwxrwxrwx   1 root root         21 2011-09-16 01:41 libevent.so -> libevent-2.0.so.5.1.2

b. 安装memcached(用的root权限,下同)
viewplaincopy
[*]#cd ..
[*]#tar zxvf memcached-1.4.0.tar.gz
[*]#cd memcached-1.4.0
[*]# ./configure <span lang=&quot;EN-US&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 22px; text-align: left; font-size: 9.5pt; color: blue; font-family: Arial; &quot;>--</span>with-libevent=/usr   
[*]# make
[*]# make install
注意编译配置./configure --with这里是两个 这里不要错了
检查是否成功

viewplaincopy
[*]hihihi@TP-Tablet:~$ ls -la /usr/local/bin/*mem*
[*]-rwxr-xr-x 1 root root 257899 2011-09-18 18:10 /usr/local/bin/memcached

现在使用memcached,输入

viewplaincopy
[*]/usr/local/bin/memcached -d -m 100 -u root -l 127.0.0.1 -p 11211 -c 256 -P tmp/memcached.pid

(参数说明:/usr/local/bin/memcached 是memcached编译后所在的地址 -d 是一个守护进程占用一个进程, -m 是分配给memcached的内存,单位MB, -u 是启动memcached的用户, -l 是监听的服务器地址,这里可以设置多台memcache服务器监听同一个IP作成集群, -p 是端口号,默认是11211,实际企业生产中建议修改, -c是运行时最大的并发连接数,默认1024, -P是设置保存memcached的pid文件. 其他参数可以用memcached -h获得帮助)
进入了memcached,随便输入下 比如输入stats显示状态,输入version显示版本.
也可以telnet 127.0.0.1 11211 连入,其他操作一样.
要关掉memcached服务,
killall -0 memcached


c. 安装memcache

viewplaincopy
[*]#cd ..
[*]#tar vxzf memcache-3.0.6.tgz
[*]#cd memcache-3.0.6
[*]#/usr/local/php/bin/phpize
[*]#./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
[*]#make
[*]#make install
[*]#gvim /etc/php5/apache2/php.ini

修改php.ini中的extension_dir = “./”

viewplaincopy
[*]extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”
添加
viewplaincopy
[*]extension=memcache.so




3: 启动和关闭

viewplaincopy
[*]#/usr/local/bin/memcached -d -m 128 -u root -l 127.0.0.1 -p 11211 -c 256 -P /var/temp/memcached.pid
[*]#kill `cat /var/temp/memcached.pid` 或者#killall memcached

重启apache

viewplaincopy
[*]sudo /etc/init.d/apche2 restart   



4:测试
新建一个testMem.php文件
viewplaincopy
[*]< ?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;
[*]?>
viewplaincopy
[*]This is a test!


5: ubuntu/debian 。
a.直接sudo memcached

viewplaincopy
[*]sudo apt-get install memcached

启动


viewplaincopy
[*]memcached -d -m 128 -p 11211 -u root -l 127.0.0.1

b.sudo memcache

viewplaincopy
[*]sudo apt-get install php5-memcache


viewplaincopy
[*] sudo gvim /etc/php5/conf.d/memcache.ini
[*]; uncomment the next line to enable the module
[*]extension=memcache.so
[*]
[*]
[*]memcache.dbpath=&quot;/var/lib/memcache&quot;
[*]memcache.maxreclevel=0
[*]memcache.maxfiles=0
[*]memcache.archivememlim=0
[*]memcache.maxfilesize=0
[*]memcache.maxratio=0

c.如果提示需要libevent

viewplaincopy
[*]sudo apt-get install libevent-dev

然后重启下apache查看phpinfo就可以看见memcache了
页: [1]
查看完整版本: linux下安装libevent和memcache