|
|
Publicado en 5/10/2014 23:16:39
|
|
|

El lado del servidor instala principalmente memcache en el lado del servidor
Memcache usa la librería libevent para el procesamiento de sockets, así que también necesitas instalar libevent.
Dirección de descarga: http://www.monkey.org/~provos/libevent
Dirección de descarga de Memcache: http://danga.com/memcached/download.bml
El método detallado es el siguiente:
1. Instalar libevent primero:
# Tar ZXVF libevent-1.4.6-stable.tar.gz
# ./configure --prefijo=/usr
# haz
# haz la instalación
2. Comprobar si libevent se instala con éxito:
# ls -al /usr/lib | grep libevent
[root@localhost suave]# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 raíz raíz 21 30 de diciembre 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 raíz raíz 280179 30 de diciembre 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 raíz raíz 366946 30 de diciembre 11:00 libevent.a
lrwxrwxrwx 1 raíz raíz 26 Dic 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 raíz raíz 107523 30 de diciembre 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- raíz raíz 1 146944 30 de diciembre 11:00 libevent_core.a
-rwxr-xr-x 1 raíz raíz 860 30 dic 11:00 libevent_core.la
lrwxrwxrwx 1 raíz raíz 26 dic 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 raíz raíz 27 dic 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 raíz raíz 219483 30 de diciembre 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 raíz raíz 281326 30 de diciembre 11:00 libevent_extra.a
-rwxr-xr-x 1 raíz raíz 867 30 de diciembre 11:00 libevent_extra.la
lrwxrwxrwx 1 raíz raíz 27 Dic 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 raíz raíz 825 30 de diciembre 11:00 libevent.la
lrwxrwxrwx 1 raíz raíz 21 Dic 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Instala memcache y especifica la ubicación de instalación de libevent en la instalación:
# Tar ZXVF memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# haz
# haz la instalación
Una vez completada la instalación, memcached se colocará en /usr/local/bin/memcached
4. Comprobar si el memcached se instala correctamente:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 raíz raíz 121261 30 de diciembre 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 raíz raíz 130191 30 de diciembre 11:02 /usr/local/bin/memcached-debug
5. Instalar la extensión PHP para Memcache
En http://pecl.php.net/package/memcache, selecciona la versión de memcache que quieres descargar.
# tar vxzf memcache-2.2.4
# CD Memcache-2.2.4
# /usr/local/php/bin/phpize
# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
# haz
# haz la instalación
6. Tras la instalación anterior, habrá un prompt como este:
Instalación de extensiones compartidas: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Cambiar la extension_dir = "./" en la php.ini a
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Añadir una línea para cargar la extensión memcache:
extension=memcache.so
9. Iniciar y detener Memcache en el lado del servidor:
# /usr/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
La explicación relevante es la siguiente:
-d es iniciar un daemon,
-m es la cantidad de memoria asignada a Memcache para su uso, en MB, aquí 200MB
-u eres el usuario que ejecuta Memcache, yo soy root aquí
-l es la dirección IP del servidor que está escuchando; si hay varias direcciones, especifico la dirección IP del servidor aquí 192.168.1.91
-p es el puerto donde Memcache está configurado para escuchar, yo pongo 12000 aquí, preferiblemente un puerto por encima de 1024
La opción -c es el número máximo de conexiones concurrentes en funcionamiento, el valor por defecto es 1024, aquí lo pongo en 256
-P es el archivo pid que está configurado para guardar Memcache, y lo guardo aquí en /tmp/memcached.pid
Detener el proceso de Memcache:
# Mata a 'gato /tmp/memcached.pid'
También se pueden iniciar varios daemons, pero los puertos no pueden repetirse
10. Reiniciar Apache
servicio httpd reinicio
11. Prueba del entorno Memcache:
Ejecuta el siguiente archivo php, si hay salida. ¡Esto es una prueba!, significa que el entorno está construido correctamente.
<?php
$mem = nuevo Memcache;
$mem->conectar("127.0.0.1", 11211);
$mem->set('key', '¡Esto es una prueba!', 0, 60);
$val = $mem->get('key');
Echo $val;
?>
Código de prueba PHP:
<?php
ini_set("memcache.hash_function","CRC32");
$memcache = nuevo Memcache;
$memcache->addServer('192.168.1.91', 12000);
$memcache->flush();
para ($i=0; $i<120000; $i++){
$memcache->set($i,
"Hola Memcache, quiero usar Memcache, eres bueno", 0, 1000);
}
?>
Código de prueba de Perl:
#!/usr/bin/perl
usar Caché::Memcached::Rápido;
my $memd = new Cache::Memcached::Fast({
servidores => [ { dirección => '192.168.1.91:12000', peso => 2.5 } ],
});
$memd->flush_all;
para ($i=0; $i<120000; $i++){
$memd->set($i, "hola memcache, quiero usar memcache, eres bueno");
}
$memd = undef;
El perl aquí usa el módulo Cache::Memcached::Fast, no Cache::Memcached, porque el módulo Cache::Memcached::Fast está escrito en C, así que el módulo perl probado por mucha gente no es tan eficiente como php, y esa es la razón.
|
Anterior:Guía para empezar en Python 2.7Próximo:Ahora el foro está en beta cerrada, todo el mundo es bienvenido a dar su opinión
|