Installation of memcache server side under Linux
The server side mainly installs the memcache server side. The latest version is memcached-1.3.0.
Download: http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
In addition, memcache uses the libevent library for socket processing, so libevent also needs to be installed. , the latest version of libevent is libevent-1.3. (If your system has already installed libevent, you don’t need to install it)
Official website: http://www.monkey.org/~provos/libevent/
Download: http://www.monkey.org/~ provos/libevent-1.3.tar.gz
Use wget command to download these two things directly. After downloading back the source file.
1. Install libevent first. This thing needs to specify an installation path when configuring, that is./configure –prefix=/usr; then make; then make install;
2. Then install memcached, but you need to specify the installation path of libevent when configuring. /configure –with-libevent=/usr; then make; then make install;
This completes the installation of the memcache server under Linux. The detailed method is as follows:
1. Download memcached and libevent respectively and put them in the /tmp directory:
# 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. Install libevent first:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install
(Note: An error occurred when executing here:
1, no acceptable c compiler found in $path
Since centos does not have gcc installed by default, use yum installation
#yum install gcc* make*
)
3. Test whether libevent is successfully installed:
# ls -al /usr/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
Not bad, everything is installed.
4. Install memcached and specify the installation location of libevent in the installation:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
If an error occurs in the middle, please check the error message carefully , configure or add the corresponding library or path according to the error message.
(Note: An error occurred during installation:
1 linux warning: Clock error detected. Your creation may be incomplete
Solution:
Modify the current time:
[root]#date –s '2010/11/5 8:01:00 '
Write the current system time into cmos
#clock –w
)
After the installation is completed, memcached will be placed in /usr/local/bin/memcached,
5. Test whether memcached is successfully installed:
# 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
Install memcache php tutorial extension
1. At http://pecl.php.net/ package/memcache Select the memcache version you want to download.
2. Install the php memcache extension
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
(Note:
1 phpize was not found
Solution:
centos does not have php-devel installed by default
yum install php-devel
2 make: *** [memcache.lo] error 1
zlib is not installed
yum install zlib -devel
3 The configuration command is changed to: ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib -dir
where enable and with are preceded by two --
)
3. After the above installation, there will be a prompt similar to this:
installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
4. Put extension_dir in php.ini = " ./" modified to
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
5. Add a line to load Enter the memcache extension: extension=memcache.so
Basic settings of memcached:
1. Start the server side of memcache:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -p /tmp/memcached.pid
-d option is to start a daemon process,
-m is the amount of memory allocated to memcache, the unit is mb, here it is 10mb,
-u is the user running memcache, here I am root ,
-l is the listening server IP address. If there are multiple addresses, I specified the server IP address 192.168.0.200 here.
-p is the port to set memcache monitoring. I set 12000 here. It is best to use a port above 1024. The
-c option is the maximum number of concurrent connections. The default is 1024. I set 256 here. Set it according to the load of your server.
-p is to save the settings. The pid file of memcache is saved in /tmp/memcached.pid,
(Note:
1
An error occurred: /usr/local/bin/memcached : error while loading shared libraries: libevent-1.3.so.1: cannot open shared object file: no such file or directory
Set the link directly
#ln -s /usr/local/ libevent/lib/libevent-1.3.so.1 /lib64/libevent-1.3.so.1
)
2. If you want to end the memcache process, execute:
# kill `cat /tmp/memcached.pid`
You can also start multiple daemon processes, but the ports cannot be repeated.
3. Restart apache, service httpd restart
memcache environment test:
Run the following php file. If this is a test! is output, it means the environment is set up successfully. Start to appreciate the charm of memcache!
< ?php
$mem = new memcache;
$mem->connect(“192.168.0.200 ”, 12000);
$mem->set('key ', 'this is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>