|
|
Publisert på 05.10.2014 23:16:39
|
|
|

Serversiden installerer hovedsakelig memcache på serversiden
Memcache bruker libevent-biblioteket for socket-prosessering, så du må også installere libevent.
Nedlastingsadresse: http://www.monkey.org/~provos/libevent
Memcache nedlastingsadresse: http://danga.com/memcached/download.bml
Den detaljerte metoden er som følger:
1. Installer libevent først:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./konfigurer --prefiks=/usr
# lag
# gjør installasjon
2. Test om libevent er installert vellykket:
# ls -al /usr/lib | grep libevent
[root@localhost mykt]# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 des 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 rotrot 280179 30. des 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 root root 366946 30. des 11:00 libevent.a
lrwxrwxrwx 1 rotrot 26. des 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 rotrot 107523 30. des 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 rotrot 146944 30. desember 11:00 libevent_core.a
-rwxr-xr-x 1 root root 860 des 30 11:00 libevent_core.la
lrwxrwxrwx 1 root root 26 des 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 root root 27. des 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 rotrot 219483 30. des 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 rotrot 281326 30. des 11:00 libevent_extra.a
-rwxr-xr-x 1 root root 867 des 30 11:00 libevent_extra.la
lrwxrwxrwx 1 root root 27. des 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 rotrot 825 30. des 11:00 libevent.la
lrwxrwxrwx 1 root root 21 des 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Installer memcached, og spesifiser installasjonsstedet til libevent i installasjonen:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# lag
# gjør installasjon
Etter at installasjonen er fullført, vil memcached bli plassert i /usr/local/bin/memcached
4. Test om memcachet installeres vellykket:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 121261 30. des 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 rotrot 130191 30. desember 11:02 /usr/local/bin/memcached-debug
5. Installer PHP-utvidelsen for Memcache
I http://pecl.php.net/package/memcache velger du versjonen av memcache du vil laste ned.
# 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
# lag
# gjør installasjon
6. Etter installasjonen ovenfor vil det komme en prompt som denne:
Installasjon av delte utvidelser: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Endre extension_dir = "./" i php.ini til
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Legg til en linje for å laste inn memcache-utvidelsen:
utvidelse=memcache.so
9. Start og stopp Memcache på serversiden:
# /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
Den relevante forklaringen er som følger:
-d alternativet er å starte en demon,
-m er mengden minne tildelt Memcache for bruk, i MB, her 200MB
-u er brukeren som kjører Memcache, jeg er root her
-l er IP-adressen til serveren som lytter, hvis det er flere adresser, spesifiserer jeg IP-adressen til serveren her 192.168.1.91
-p er porten hvor Memcache er satt til å lytte, jeg setter 12000 her, helst en port over 1024
-c-alternativet er det maksimale antallet samtidige tilkoblinger som kjører, standard er 1024, jeg har satt det til 256 her
-P er pid-filen som er satt til å lagre Memcache, og jeg lagrer den her i /tmp/memcached.pid
Stopp Memcache-prosessen:
# drep 'cat /tmp/memcached.pid'
Flere demoner kan også startes, men porteringene kan ikke gjentas
10. Start Apache på nytt
Tjeneste httpD-restart
11. Memcache-miljøtest:
Kjør følgende php-fil, hvis det er output Dette er en test!, betyr det at miljøet er vellykket bygget.
<?php
$mem = ny Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('nøkkel', 'Dette er en test!', 0, 60);
$val = $mem->get('key');
Echo $val;
?>
PHP-testkode:
<?php
ini_set("memcache.hash_function", "crc32");
$memcache = ny Memcache;
$memcache->addServer('192.168.1.91', 12000);
$memcache->flush();
for($i=0; $i<120000; $i++){
$memcache->set($i,
"hei memcache, jeg vil bruke memcache, du er bra", 0, 1000);
}
?>
Perls testkode:
#!/usr/bin/perl
bruk Cache::Memcached::Fast;
my $memd = ny Cache::Memcached::Fast({
servere => [ { adresse => '192.168.1.91:12000', vekt => 2,5 } ],
});
$memd->flush_all;
for($i=0; $i<120000; $i++){
$memd->set($i, "hei memcache, jeg vil bruke memcache, du er bra");
}
$memd = uforsvarlig;
Perlen her bruker Cache::Memcached::Fast-modulen, ikke Cache::Memcached, fordi Cache::Memcached::Fast-modulen er skrevet i C, så perl-modulen som mange har testet er ikke like effektiv som PHP, og det er grunnen.
|
Foregående:Python 2.7 OppstartsguideNeste:Nå som forumet er i lukket beta, er alle velkomne til å gi sine meninger
|