Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14330|Відповідь: 0

[Memcached] Встановлення та тестування сервера Memcache на Linux

[Копіювати посилання]
Опубліковано 05.10.2014 23:16:39 | | |
Серверна сторона переважно встановлює memcache на серверній стороні
Memcache використовує бібліотеку libevent для обробки сокетів, тому також потрібно встановити libevent.
Адреса для завантаження: http://www.monkey.org/~provos/libevent
Адреса завантаження Memcache: http://danga.com/memcached/download.bml

Детальний метод виглядає так:

1. Спочатку встановіть libevent:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./configure --prefix=/usr
# зробити
# зробити встановлення

2. Перевірте, чи успішно встановлено libevent:
# Is -al /usr/lib | Греп Лібевент

[root@localhost м'яко]# ls -al /usr/lib | Греп Лібевент
lrwxrwxrwx 1 root root 21 грудня 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 кореневий корінь 280179 30 грудня 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 кореневий корінь 366946 30 грудня 11:00 libevent.a
lrwxrwxrwx 1 корінь 26 грудня 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 кореневий корінь 107523 30 грудня 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 кореневий корінь 146944 30 грудня 11:00 libevent_core.a
-rwxr-xr-x 1 корінь 860 30 грудня 11:00 libevent_core.la
lrwxrwxrwx 1 root root 26 грудня 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 корінь 27 грудня 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 корінь 219483 30 грудня 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 кореневий корінь 281326 30 грудня 11:00 libevent_extra.a
-rwxr-xr-x 1 корінь 867 30 грудня 11:00 libevent_extra.la
lrwxrwxrwx 1 корінь 27 грудня 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 корінь 825 30 грудня 11:00 libevent.la
lrwxrwxrwx 1 root root 21 грудня 30 11:00 libevent.so -> libevent-1.4.so.2.1.1


3. Встановити memcached і вказати місце встановлення libevent у інсталяції:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# зробити
# зробити встановлення
Після завершення встановлення memcached буде розміщено у /usr/local/bin/memcached


4. Перевірте, чи успішно встановлено memcached:
# Is -al /usr/local/bin/mem*
-rwxr-xr-x 1 корінь 121261 30 грудня 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 кореневий корінь 130191 30 грудня 11:02 /usr/local/bin/memcached-debug


5. Встановити розширення PHP для Memcache
У http://pecl.php.net/package/memcache виберіть версію memcache, яку хочете завантажити.

# 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
# зробити
# зробити встановлення


6. Після наведеної вище інсталяції з'явиться запит на кшталт цього:
Встановлення спільних розширень: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"


7. Змініть extension_dir = "./" у php.ini на
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"


8. Додайте рядок для завантаження розширення memcache:
extension=memcache.so


9. Запуск і зупинка Memcache на стороні сервера:
# /usr/local/bin/memcached -d -m 200 -u корінь -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
Відповідне пояснення таке:
-d варіант — запустити демона,
-m — це обсяг пам'яті, виділеної Memcache для використання, у MB, тут 200MB
-u — користувач, який запускає Memcache, я тут root.
-l — IP-адреса сервера, який слухає, якщо є кілька адрес, я вказую IP-адресу сервера тут 192.168.1.91
-p — це порт, де Memcache встановлений на прослуховування, я встановив тут 12000, бажано порт вище 1024
Опція -c — це максимальна кількість одночасних підключень, за замовчуванням 1024, я встановив 256
-P — це pid-файл, який налаштований на збереження Memcache, і я зберігаю його тут у /tmp/memcached.pid

Зупиніть процес Memcache:
# вбити 'cat /tmp/memcached.pid'

Можна запускати кілька демонів, але порти не можна повторювати

10. Перезапустити Apache
Перезапуск сервісу httpd

11. Тест середовища Memcache:
Запустіть наступний php-файл, якщо є вихід. Це тест!, це означає, що середовище успішно побудоване.
<?php
$mem = новий Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('key', 'Це тест!', 0, 60);
$val = $mem->get('ключ');
Echo $val;
?>




PHP-тестовий код:
<?php
ini_set("memcache.hash_function", "crc32");
$memcache = новий Memcache;
$memcache->addServer('192.168.1.91', 12000);
$memcache->флеш();
for($i=0; $i<120000; $i++){
        $memcache->set($i,
«Привіт, memcache, я хочу використати memcache, ти в порядку», 0, 1000);
}
?>



Тестовий код Perl:
#!/usr/bin/perl

використовуйте Cache::Memcached::Fast;
my $memd = новий Cache::Memcached::Fast({
      сервери => [ { адреса => '192.168.1.91:12000', вага => 2.5 } ],
  });
$memd->flush_all;
for($i=0; $i<120000; $i++){
   $memd->set($i, "Привіт, memcache, я хочу використати memcache, ти в порядку");
}
$memd = undef;


Perl тут використовує модуль Cache::Memcached::Fast, а не Cache::Memcached, оскільки модуль Cache::Memcached::Fast написаний на C, тому модуль perl, який тестують багато людей, менш ефективний, ніж php, і саме тому це пояснюється.






Попередній:Посібник з початку роботи з Python 2.7
Наступний:Зараз форум у закритій бета-версії, кожен може висловити свою думку
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com