|
|
Objavljeno na 5. 10. 2014 23:16:39
|
|
|

Strežniška stran večinoma namešča memcache na strežniško stran
Memcache uporablja knjižnico libevent za obdelavo socketov, zato moraš tudi namestiti libevent.
Naslov za prenos: http://www.monkey.org/~provos/libevent
Naslov za prenos Memcache: http://danga.com/memcached/download.bml
Podrobna metoda je naslednja:
1. Najprej namestite libevent:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./configure --prefix=/usr
# Naredi
# Namesti
2. Preverite, ali je libevent uspešno nameščen:
# Ls -al /usr/lib | Grep Libevent
[root@localhost mehko]# ls -al /usr/lib | Grep Libevent
lrwxrwxrwx 1 koren 21 dec 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 koren 280179 30. dec 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 koren 366946 30. dec 11:00 libevent.a
lrwxrwxrwx 1 koren 26. dec 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 koren 107523 30. dec 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 koren 146944 30. dec 11:00 libevent_core.a
-rwxr-xr-x 1 koren 860 Dec 30 11:00 libevent_core.la
lrwxrwxrwx 1 koren 26. dec 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 koren 27 Dec 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 koren 219483 30. dec 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 koren 281326 30. dec 11:00 libevent_extra.a
-rwxr-xr-x 1 koren 867 30. dec 11:00 libevent_extra.la
lrwxrwxrwx 1 koren 27. dec 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 koren 825 Dec 30 11:00 libevent.la
lrwxrwxrwx 1 koren 21. dec 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Namestite memcached in določite lokacijo namestitve libevent v namestitvi:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# Naredi
# Namesti
Po končani namestitvi bo memcached nameščen v /usr/local/bin/memcached
4. Preverite, ali je memcached uspešno nameščen:
# ls -al /usr/lokalno/bin/mem*
-rwxr-xr-x 1 koren 121261 30. dec 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 korenska 130191 30. dec 11:02 /usr/local/bin/memcached-debug
5. Namestite PHP razširitev za Memcache
V http://pecl.php.net/package/memcache izberite različico memcache, ki jo želite prenesti.
# 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
# Naredi
# Namesti
6. Po zgornji namestitvi bo sledilo navodilo, kot je ta:
Nameščanje deljenih razširitev: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Spremenite extension_dir = "./" v php.ini v
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Dodajte vrstico za nalaganje razširitve memcache:
extension=memcache.so
9. Zagon in ustavitev Memcache na strežniški strani:
# /usr/local/bin/memcached -d -m 200 -u koren -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
Relevantna razlaga je naslednja:
-d možnost je začeti daemona,
-m je količina pomnilnika, dodeljena Memcache za uporabo, v MB, tukaj 200MB
-u je uporabnik, ki poganja Memcache, jaz sem root tukaj
-l je IP naslov strežnika, ki posluša, če je več naslovov, tukaj določim IP naslov strežnika 192.168.1.91
-p je port, kjer je Memcache nastavljen na poslušanje, tukaj sem nastavil 12000, po možnosti port nad 1024
Možnost -c je največje število sočasnih povezav, privzeto je 1024, tukaj sem nastavil na 256
-P je pid datoteka, ki je nastavljena za shranjevanje Memcache, jaz pa jo shranim tukaj v /tmp/memcached.pid
Ustavite postopek Memcache:
# Ubij 'mačko /tmp/memcached.pid'
Več demonov je mogoče tudi zagnati, vendar se porti ne morejo ponoviti
10. Ponovno zaženi Apache
Ponovni zagon storitve httpd
11. Test okolja Memcache:
Zaženite naslednjo php datoteko, če je na voljo izhod. To je test!, kar pomeni, da je okolje uspešno zgrajeno.
<?php
$mem = nov Memcache;
$mem->connect ("127.0.0.1", 11211);
$mem->set('ključ', 'To je test!', 0, 60);
$val = $mem->get('ključ');
Echo $val;
?>
PHP testna koda:
<?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,
"hi memcache, želim uporabiti memcache, si dober", 0, 1000);
}
?>
Perlova testna koda:
#!/usr/bin/perl
uporabi Cache::Memcached::Fast;
my $memd = nov Cache::Memcached::Fast({
strežniki => [ { naslov => '192.168.1.91:12000', teža => 2,5 } ],
});
$memd->flush_all;
for($i=0; $i<120000; $i++){
$memd->set($i, "živjo memcache, želim uporabiti memcache, vse je v redu");
}
$memd = undef;
Perl tukaj uporablja modul Cache::Memcached::Fast, ne Cache::Memcached, ker je modul Cache::Memcached::Fast napisan v C-ju, zato je perl modul, ki ga testira veliko ljudi, manj učinkovit kot php, in to je razlog.
|
Prejšnji:Vodič za začetek v Pythonu 2.7Naslednji:Zdaj, ko je forum v zaprti beti, je vsak vabljen, da izrazi svoje mnenje
|