FreeBSD — memcached + php5

Захотелось мне улучшить производительность связки PHP5 + MySQL + Apache22 на сервере с FreeBSD. Решил добавить в эту связку еще и memcached для улучшения отдачи сгенеренного php-шкой кода.
Делается крайне просто, все что нужно — уже есть в портах. Сначала ставим сам memcached:

root@black:~# cd /usr/ports/databases/memcached

И установим такой командой:

root@black:/usr/ports/databases/memcached# make install clean

Для автозапуска добавим в /etc/rc.conf строки:

memcached_enable="YES"
memcached_flags="-d -m 64 -u nobody -l 127.0.0.1"

Запустим сервис:

root@black:~# service memcached start

Идем дальше ….
Проверяем запустился ли, должны увидеть чтото вроде этого:

root@black:~# netstat -na | grep 11211
tcp4       0      0 127.0.0.1.11211        *.*                    LISTEN
udp4       0      0 127.0.0.1.11211        *.*                    
root@black:~#

Для того чтобы подружить memcache & PHP необходимо установить модуль PHP pecl-memcache, ставим из портов:

root@black:~# cd /usr/ports/databases/pecl-memcache
root@black:/usr/ports/databases/pecl-memcache# make install clean

Установщик сам добавит запись extension=memcache.so в extensions.ini, в случай если не заработает — проверьте, мало ли, вдруг не добавил.
Проверить включен ли в PHP модуль можно так:

root@black:~# php -i | grep -i memcache

Ну и напоследок нужно перегрузить Apache

root@black:~# apachectl restart

Также проверьте все ли верно работает из php можно так:

root@black:~# php /usr/local/share/examples/memcache/example.php
string(28) "String to store in memcached"
int(123)
object(stdClass)#3 (1) {
  ["attribute"]=>
  string(4) "test"
}

root@black:~#

У меня все заработало без проблем. После этого ищите в плагинах движка своего сайта/блога плагин для работы с memcache. Таковых навалом для популярных движков (joomla, DLE, WP, Drupal) …
Enjoy!

  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?