|
|
Zverejnené 5. 10. 2014 23:16:39
|
|
|

Serverová strana väčšinou inštaluje memcache priamo na serverovej strane
Memcache používa knižnicu libevent na spracovanie socketov, takže je potrebné nainštalovať aj libevent.
Adresa na stiahnutie: http://www.monkey.org/~provos/libevent
Adresa na stiahnutie Memcache: http://danga.com/memcached/download.bml
Podrobná metóda je nasledovná:
1. Najskôr nainštalovať libeventa:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./configure --prefix=/usr
# urob
# urob inštaláciu
2. Otestovať, či je libevent úspešne nainštalovaný:
# Ls -al /usr/lib | Grep Libevent
[root@localhost jemne]# ls -al /usr/lib | Grep Libevent
lrwxrwxrwx 1 koreňový koreň 21 Dec 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 koreňová 280179 30. decembra 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 koreňová 366946 30. decembra 11:00 libevent.a
lrwxrwxrwx 1 koreňový koren 26. dec 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 koreňová 107523 30. decembra 11:00 libevent_core-1.4.tak.2.1.1
-rw-r--r-- 1 koreňový 146944 30. decembra 11:00 libevent_core.a
-rwxr-xr-x 1 koreňový koreň 860 30. dec 11:00 libevent_core.la
lrwxrwxrwx 1 koreňový koreň 26. dec 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 koreňový koren 27. dec 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 koreňová 219483 30. decembra 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 koreňová 281326 30. decembra 11:00 libevent_extra.a
-rwxr-xr-x 1 koreňový koreň 867 30. decembra 11:00 libevent_extra.la
lrwxrwxrwx 1 koreňový koreň 27. dec 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 koreňový koreň 825 30. decembra 11:00 libevent.la
lrwxrwxrwx 1 koreňový koreň 21. dec 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Nainštalovať memcached a špecifikovať miesto inštalácie libevent v inštalácii:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# urob
# urob inštaláciu
Po dokončení inštalácie bude memcached umiestnený do /usr/local/bin/memcached
4. Otestovať, či je memcached úspešne nainštalovaný:
# Ls -al /usr/lokálne/bin/mem*
-rwxr-xr-x 1 koreňový 121261 30. decembra 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 koreňový koreň 130191 30. decembra 11:02 /usr/local/bin/memcached-debug
5. Nainštalovať rozšírenie PHP pre Memcache
V http://pecl.php.net/package/memcache vyberte verziu memcache, ktorú chcete stiahnuť.
# 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
# urob
# urob inštaláciu
6. Po vyššie uvedenej inštalácii sa objaví výzva ako táto:
Inštalácia zdieľaných rozšírení: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Zmeňte extension_dir = "./" v php.ini na
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Pridajte riadok na načítanie rozšírenia memcache:
extension=memcache.so
9. Spustiť a zastaviť Memcache na strane servera:
# /usr/local/bin/memcached -d -m 200 -u koreň -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
Relevantné vysvetlenie je nasledovné:
-d možnosť je začať démona,
-m je množstvo pamäte pridelené Memcache na použitie, v MB, tu 200MB
-u je používateľ, ktorý spúšťa Memcache, ja som root tu
-l je IP adresa servera, ktorý počúva, ak je viac adries, tu zadám IP adresu servera 192.168.1.91
-p je port, kde je Memcache nastavený na počúvanie, tu som nastavil 12000, najlepšie port nad 1024
Možnosť -c je maximálny počet súbežných pripojení, predvolená je 1024, nastavujem ju tu na 256
-P je pid súbor, ktorý je nastavený na ukladanie Memcache, a ja ho ukladám tu v /tmp/memcached.pid
Zastavte proces Memcache:
# Zabite 'mačku /tmp/memcached.pid'
Viacero démonov je možné spustiť, ale porty sa nedajú opakovať
10. Reštartovať Apache
Service httpd reštart
11. Test prostredia Memcache:
Spusťte nasledujúci php súbor, ak je výstup. Toto je test!, znamená to, že prostredie je úspešne vytvorené.
<?php
$mem = nový Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set("kľúč", 'Toto je test!', 0, 60);
$val = $mem->dostať('kľúč');
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();
pre($i=0; $i<120000; $i++){
$memcache->set($i,
"hi memcache, chcem použiť memcache, si dobrý", 0, 1000);
}
?>
Testovací kód Perlu:
#!/usr/bin/perl
použiť Cache::Memcached::Fast;
my $memd = nová Cache::Memcached::Fast({
servery => [ { adresa => '192.168.1.91:12000', váha => 2,5 } ],
});
$memd->flush_all;
pre($i=0; $i<120000; $i++){
$memd->set($i, "ahoj memcache, chcem použiť memcache, si v pohode");
}
$memd = neobrániteľné;
Perl tu používa modul Cache::Memcached::Fast, nie Cache::Memcached, pretože modul Cache::Memcached::Fast je napísaný v C, takže modul Perl, ktorý testovalo veľa ľudí, nie je taký efektívny ako php, a to je dôvod.
|
Predchádzajúci:Sprievodca začiatkami v Pythone 2.7Budúci:Teraz, keď je fórum v uzavretej bete, každý je vítaný vyjadriť svoj názor
|