|
|
Opublikowano 05.10.2014 23:16:39
|
|
|

Strona serwera głównie instaluje pamięć podręczną po stronie serwera
Memcache używa biblioteki libevent do przetwarzania socketów, więc musisz też zainstalować libevent.
Adres do pobrania: http://www.monkey.org/~provos/libevent
Adres do pobrania pamięci podręcznej do pamięci: http://danga.com/memcached/download.bml
Szczegółowa metoda wygląda następująco:
1. Najpierw zainstalować libevent:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./configure --prefiks=/usr
# Zrób
# Zrób instalację
2. Sprawdź, czy libevent został pomyślnie zainstalowany:
# ls -al /usr/lib | Grep Libevent
[root@localhost miękki]# ls -al /usr/lib | Grep Libevent
lrwxrwxrwx 1 root 21 gru 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 pierwiastek 280179 30 grudnia 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 root 366946 30 gru 11:00 libevent.a
lrwxrwxrwx 1 root 26 gru 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 pierwiastek 107523 30 grudnia 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 korzeń 146944 30 grudnia 11:00 libevent_core.a
-rwxr-xr-x 1 root 860 Gru 30 11:00 libevent_core.la
lrwxrwxrwx 1 korzeń korzeniowy 26 gru 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 korzeń korzeniowy 27 Gru 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 pierwiastek korzeniowy 219483 30 grudnia 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 korzeń 281326 30 grudnia 11:00 libevent_extra.a
-rwxr-xr-x 1 root 867 Gru 30 11:00 libevent_extra.la
lrwxrwxrwx 1 korzeń korzeniowy 27 gru 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 rdzeń 825 Gru 30 11:00 libevent.la
lrwxrwxrwx 1 root 21 gru 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Zainstaluj memcached i określ lokalizację instalacji libevent w instalacji:
# Tar ZXVF memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# Zrób
# Zrób instalację
Po zakończeniu instalacji memcached zostanie umieszczony w /usr/local/bin/memcached
4. Sprawdź, czy memcached został pomyślnie zainstalowany:
# ls -al /usr/lokalnie/bin/mem*
-rwxr-xr-x 1 root 121261 Dec 30 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 root 130191 30 gru 11:02 /usr/local/bin/memcached-debug
5. Zainstaluj rozszerzenie PHP dla Memcache
W http://pecl.php.net/package/memcache wybierz wersję pamięci podręcznej, którą chcesz pobrać.
# 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
# Zrób
# Zrób instalację
6. Po powyższej instalacji pojawi się prompt w takim stylu:
Instalacja współdzielonych rozszerzeń: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Zmień extension_dir = "./" w php.ini na
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Dodaj linię ładującą rozszerzenie pamięci podręcznej:
extension=memcache.so
9. Rozpocznij i zakończ pamięć podręczną po stronie serwera:
# /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
Odpowiednie wyjaśnienie jest następujące:
-d opcja to rozpoczęcie demona,
-m to ilość pamięci przydzielonej do Memcache do użycia, w MB, tutaj 200MB
-u jest użytkownikiem prowadzącym Memcache, ja jestem tutaj rootem
-l to adres IP serwera, który słucha, jeśli jest wiele adresów, podaję adres IP serwera tutaj 192.168.1.91
-p to port, w którym Memcache jest ustawiony na słuchanie, ustawiłem tutaj 12000, najlepiej port powyżej 1024
Opcja -c to maksymalna liczba jednoczesnych połączeń, domyślnie 1024, ustawiłem ją tutaj na 256
-P to plik pid, który jest ustawiony na zapisywanie pamięci podręcznej, a ja zapisuję go tutaj w /tmp/memcached.pid
Zatrzymaj proces pamięć podręcznych:
# Zabij 'kota /tmp/memcached.pid'
Można też uruchomić wiele demonów, ale porty nie mogą być powtarzane
10. Restart Apache
Restart Service HTTP
11. Test środowiska pamięci podręcznej:
Uruchom następujący plik php, jeśli jest wynik To jest test!, oznacza to, że środowisko zostało pomyślnie zbudowane.
<?php
$mem = nowy Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set("klucz", 'To jest test!', 0, 60);
$val = $mem->get('klucz');
echo $val;
?>
Kod testowy PHP:
<?php
ini_set("memcache.hash_function","crc32");
$memcache = nowy Memcache;
$memcache->addServer('192.168.1.91', 12000);
$memcache->flush();
dla($i=0; $i<120000; $i++){
$memcache->set($i,
"hi memcache, chcę użyć memcache, jesteś dobry", 0, 1000);
}
?>
Kod testowy Perla:
#!/usr/bin/perl
użyj Cache::Memcached::Fast;
my $memd = nowy Cache::Memcached::Fast({
serwery => [ { adres => '192.168.1.91:12000', waga => 2,5 } ],
});
$memd->flush_all;
dla($i=0; $i<120000; $i++){
$memd->set($i, "hi memcache, chcę użyć memcache, jesteś dobry");
}
$memd = nieodbitne;
Perl tutaj używa modułu Cache::Memcached::Fast, a nie Cache::Memcached, ponieważ moduł Cache::Memcached::Fast jest napisany w C, więc testowany przez wielu użytkowników moduł Perl nie jest tak wydajny jak php, i to jest powód.
|
Poprzedni:Przewodnik po rozpoczęciu w Pythonie 2.7Następny:Teraz, gdy forum jest w zamkniętej becie, każdy może wyrażać swoje opinie
|