Installing memcached
Recently I had to install memcache on a number of servers, and I would always tend to end up with errors whilst memcache tries to locate libevent. I always seem to forgett LD_DEBUG, so I figured I would write up the process for installing memcache.
One of the dependencies of memcache is libevent, so firstly download the source files for Libevent.
tar -xvf libevent-1.3b.tar.gz
cd libevent-1.3b
./configure;make;make install;
Download the latest Memcached source code from danga.com
gunzip memcached-1.2.1.tar.gz
tar -xvf memcached-1.2.1.tar
cd memcached-1.2.1
./configure;make;make install;
Often libevent.so cannot be found when executing memcache. A useful command LD_DEBUG, is very helpful to determine where libraries are being loaded from.
LD_DEBUG=help memcached -v
LD_DEBUG=libs memcached -v 2>&1 > /dev/null | less
18990: find library=libevent-1.3b.so.1 [0]; searching
…
18990: trying file=/usr/lib/libevent-1.3b.so.1
18990:
memcached: error while loading shared libraries: libevent-1.3b.so.1: cannot open shared object file: No such file or directory
Simply place the library where memcached will find it and execute memcached.
ln -s /usr/local/lib/libevent-1.3b.so.1 /lib/libevent-1.3b.so.1
memcached -d -u nobody -m 512 127.0.0.1 -p 11211
The options for memcached are:
-l <ip_addr>
Listen on <ip_addr>; default to INDRR_ANY. This is an important option to consider as there is no other way to secure the installation. Binding to an internal or firewalled network interface is suggested.
-d
Run memcached as a daemon.
-u <username>
Assume the identity of <username> (only when run as root).
-m <num>
Use <num> MB memory max to use for object storage; the default is 64 megabytes.
-M
Instead of throwing items from the cache when max memory is reached, throw an error
-c <num>
Use <num> max simultaneous connections; the default is 1024.
-k
Lock down all paged memory. This is a somewhat dangerous option with large caches, so consult the README and memcached homepage for configuration suggestions.
-p <num>
Listen on port <num>, the default is port 11211.
-r
Maximize core file limit
-M
Disable automatic removal of items from the cache when out of memory. Additions will not be possible until adequate space is freed up.
-r
Raise the core file size limit to the maximum allowable.
-h
Show the version of memcached and a summary of options.
-v
Be verbose during the event loop; print out errors and warnings.
-vv
Be even more verbose; same as -v but also print client commands and responses.
-i
Print memcached and libevent licenses.
-P <filename>
Print pidfile to <filename>, only used under -d option.
To install the pecl package for PHP
wget http://pecl.php.net/get/memcache-2.1.2.tgz
gzip -df memcache-2.1.2.tgz
tar -xvf memcache-2.1.2.tar
cd memcache-2.1.2
phpize
./configure;make;make install;
Add memcache.so to the php.ini file
extension=memcache.so
Then run
php -i | grep -i 'memcache'
memcache should be listed and then restart the web server.
For further information:
Distributed Caching with Memcached
on August 17th, 2007 at 5:17 am
Very very well!!!
on September 26th, 2007 at 9:26 am
This is very good document ,very help full. I need to know how it used in application.
on October 24th, 2007 at 12:40 am
thanks Andrew. Great Tutorial.
on June 8th, 2008 at 9:56 am
[...] další si můžete přečíst někde jinde. Tady půjde o jeho zprovoznění. Nebudu zde popisovat postup pro Linux, který je ale dost podobný. Na závěr se mrkneme i jak to celé rozchodit v PHP. V celé věci [...]
on September 1st, 2008 at 5:12 am
89 free video
clip daily free lesbian video
board.com free hostname i.ru movie picture site story video
straight guys gone gay videos
free video of celebrity lesbian
on September 4th, 2008 at 8:29 pm
test
on September 26th, 2008 at 12:34 pm
What about upgrading?
Any specific process that I would need to go through to upgrade memcached?