|
|
Zveřejněno 05.10.2014 23:16:39
|
|
|

Serverová strana většinou instaluje memcache přímo na serverové straně
Memcache používá knihovnu libevent pro zpracování socketů, takže je potřeba také nainstalovat libevent.
Adresa ke stažení: http://www.monkey.org/~provos/libevent
Adresa ke stažení Memcache: http://danga.com/memcached/download.bml
Podrobná metoda je následující:
1. Nejprve instalovat libevent:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./configure --prefix=/usr
# Dělej
# Instalujte
2. Otestovat, zda je libevent úspěšně instalován:
# ls -al /usr/lib | Grep Libevent
[root@localhost jemně]# ls -al /usr/lib | Grep Libevent
lrwxrwxrwx 1 kořen 21. prosince 30. 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 kořen 280179 30. prosince 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 kořen 366946 30. prosince 11:00 libevent.a
lrwxrwxrwx 1 kořen 26. prosince 30. 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 kořen 107523 30. prosince 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 kořenový kořen 146944 30. prosince 11:00 libevent_core.a
-rwxr-xr-x 1 kořen 860 30. prosince 11:00 libevent_core.la
lrwxrwxrwx 1 kořenová kořen 26. prosince 30. 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 kořen 27. prosince 30. 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 kořen 219483 30. prosince 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 kořen 281326 30. prosince 11:00 libevent_extra.a
-rwxr-xr-x 1 kořenový kořen 867 30. prosince 11:00 libevent_extra.la
lrwxrwxrwx 1 kořen 27. prosince 30. 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 kořen 825 Dec 30 11:00 libevent.la
lrwxrwxrwx 1 kořen 21. prosince 30. 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Nainstalovat memcached a v instalaci specifikovat místo instalace libevent:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# Dělej
# Instalujte
Po dokončení instalace bude memcached umístěn do /usr/local/bin/memcached
4. Otestovat, zda je memcached úspěšně instalován:
# Ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 kořenový kořen 121261 30. prosince 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 kořenový kořen 130191 30. prosince 11:02 /usr/local/bin/memcached-debug
5. Nainstalovat rozšíření PHP pro Memcache
V http://pecl.php.net/package/memcache vyberte verzi memcache, kterou chcete stáhnout.
# 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
# Dělej
# Instalujte
6. Po výše uvedené instalaci se objeví výzva jako tato:
Instalace sdílených rozšíření: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Změňte extension_dir = "./" v php.ini na
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Přidejte řádek pro načtení rozšíření memcache:
extension=memcache.so
9. Spuštění a zastavení Memcache na straně serveru:
# /usr/local/bin/memcached -d -m 200 -u kořen -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
Relevantní vysvětlení je následující:
-d možností je začít démona,
-m je množství paměti přidělené Memcache k použití, v MB, zde 200MB
-u je uživatel, který spouští Memcache, já jsem tady root.
-l je IP adresa serveru, který poslouchá, pokud je více adres, zde zadám IP adresu serveru 192.168.1.91
-p je port, kde je Memcache nastaven na naslouchání, já jsem zde nastavil 12000, ideálně port nad 1024
Možnost -c je maximální počet souběžných připojení, výchozí je 1024, tady jsem ji nastavil na 256
-P je pid soubor, který je nastavený na ukládání Memcache, a já ho ukládám zde v /tmp/memcached.pid
Zastavte proces Memcache:
# Zabij 'kočku /tmp/memcached.pid'
Lze také spustit více démonů, ale porty nelze opakovat
10. Restart Apache
Restart služby httpd
11. Test prostředí Memcache:
Spusť následující php soubor, pokud je výstup To je test!, což znamená, že prostředí bylo úspěšně vytvořeno.
<?php
$mem = nový Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set("klíč", 'Toto je test!', 0, 60);
$val = $mem->get('klíč');
Echo $val;
?>
PHP testovací kód:
<?php
ini_set("memcache.hash_function","crc32");
$memcache = nový Memcache;
$memcache->addServer('192.168.1.91', 12000);
$memcache->flush();
for($i=0; $i<120000; $i++){
$memcache->set($i,
"Ahoj memcache, chci použít memcache, ty hodný", 0, 1000);
}
?>
Testovací kód Perlu:
#!/usr/bin/perl
použijte Cache::Memcached::Fast;
my $memd = nová Cache::Memcached::Fast({
servery => [ { adresa => '192.168.1.91:12000', váha => 2,5 } ],
});
$memd->flush_all;
for($i=0; $i<120000; $i++){
$memd->set($i, "ahoj memcache, chci použít memcache, jsi v pohodě");
}
$memd = neodvolitelné;
Perl zde používá modul Cache::Memcached::Fast, ne Cache::Memcached, protože modul Cache::Memcached::Fast je napsán v C, takže modul Perl, který testuje mnoho lidí, není tak efektivní jako php, a to je důvod.
|
Předchozí:Průvodce začátky v Pythonu 2.7Další:Teď je fórum v uzavřené betě, každý je vítán, aby vyjádřil svůj názor
|